什么是原子特性?
答:一个或多个操作在CPU执行过程中不被中断的特性。
在32位系统中,且i没有跨页,那么i++是原子的。其指令格式如下:
movl x, %eax
addl $1, %eax
movl %eax, x
在64位系统中,i++无论如何也不是原子操作。其指令代码如下:
movl x, %eax
movl x+4, %edx
addl $1, %eax
adcl $0, %edx
movl %eax, x
movl %edx, x+4
什么是原子特性?
答:一个或多个操作在CPU执行过程中不被中断的特性。
在32位系统中,且i没有跨页,那么i++是原子的。其指令格式如下:
movl x, %eax
addl $1, %eax
movl %eax, x
在64位系统中,i++无论如何也不是原子操作。其指令代码如下:
movl x, %eax
movl x+4, %edx
addl $1, %eax
adcl $0, %edx
movl %eax, x
movl %edx, x+4