actomic包通过cas实现了原子性,那怎么保证的有序性和可见性
来源:3-1 线程安全性-原子性-atomic-1
慕粉3389691
2019-07-03
写回答
1回答
-
Jimin
2019-07-03
你好,atomic里的cas,底层实现时已经是到cpu指令级别了,通过cpu一条指令完成“先判断相等再更新”的操作,这里先判断再更新就保证了可见性,做到不会错误覆盖;同时,如果判断不相等会不执行,然后借助上层封装while循环取出最新的值,重新处理计算逻辑,继续执行cas操作,保证最终判断相等才执行,这样就保证了原子性。cas的机制保证了可以线程安全的更新。
022020-11-04
相似问题