jvm虚拟机关于线程内存、主存之间数据移动规则,提出如下8个原子性操作:
1. read(读取):
从主存中读取数据
2. load(载入):
将主存读取到的数据写入工作内存中
3. use(使用):
从工作内存读取数据做计算
4. assign(赋值):
将计算好的值重新赋值到工作内存中
5. store(存储):
将工作内存数据写入主存
6. write(写入):
将store过去的变量值赋值给主存中的变量(更新主存)
7. lock(锁定):
将主存变量加锁,标识为线程独占状态
8. unlock(解锁):
将主存变量解锁,解锁以后其它线程就可以锁定该变量。
JavaMemoryModelAtomicOperationPicture.png
网友评论