我在 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
从谷歌,我知道 lock
指令将导致 CPU 锁定总线,但我不知道什么时候 CPU 释放总线?
关于整个上面的代码,我不明白这个代码是如何实现 Add
的?