原子性(Atomicity)
原子性指一个或多个操作在CPU的执行过程中不被中断的特性。
Java的一个语句往往由多个CPU指令构成。例如x+=1;语句,由3个CPU指令构成:
- 将x变量从内存加载到寄存器
- 在寄存器中执行
+1操作 - 将结果写入内存(或缓存)
CPU可能在任意一个CPU指令完成后执行线程切换。如下图,在两次count+=1命令执行过后,count的值却为1:

Search
Dec 14, 2023, 1 min read
原子性指一个或多个操作在CPU的执行过程中不被中断的特性。
Java的一个语句往往由多个CPU指令构成。例如x+=1;语句,由3个CPU指令构成:
+1操作CPU可能在任意一个CPU指令完成后执行线程切换。如下图,在两次count+=1命令执行过后,count的值却为1:
