可见性

2021-03-17  本文已影响0人  文刀雨

导致共享变量在线程间不可见的原因

synchronized

JMM关于synchronized的两条规定:

volatile

通过加入内存屏障禁止重排序 优化来实现

volatile 适合作为状态标记量

有序性

Java内存模型中,允许编译器和处理器对指令进行重排序,但是重排序过程不会影响到单线程程序的执行,却会影响到多线程并发执行的正确性。
volatile synchronized lock

有序性- happens-before 原则

原子性:Atomic包,CAS算法,synchronized, Lock
可见性:synchronized,volatile
有序性:happens-before

上一篇 下一篇

猜你喜欢

热点阅读