我在Qt的源代码中看到了一些x86程序集:
q_atomic_increment:
movl 4(%esp), %ecx
lock
incl (%ecx)
mov $0,%eax
setne %al
ret
.align 4,0x90
.type q_atomic_increment,@function
.size q_atomic_increment,.-q_atomic_increment
Run Code Online (Sandbox Code Playgroud)
从谷歌搜索,我知道lock指令将导致CPU锁定总线,但我不知道CPU何时释放总线?
关于以上整个代码,我不明白这段代码是如何实现的Add?