保证线程可见性(MESI,PU的缓存一致性协议)
写操作都会写回到主内存,读取操作都会从主内存中读取
禁止指令重排序(读、写屏障)
(常用在单例模式的双重检测写法)
字节码层面 ACC_VOLATILE
JVM层面 volatile内存区的读写 都加屏障
StoreStoreBarrier
volatile 写操作
StoreLoadBarrier
LoadLoadBarrier
volatile 读操作
LoadStoreBarrier
保证线程可见性(MESI,PU的缓存一致性协议)
写操作都会写回到主内存,读取操作都会从主内存中读取
禁止指令重排序(读、写屏障)
(常用在单例模式的双重检测写法)
字节码层面 ACC_VOLATILE
JVM层面 volatile内存区的读写 都加屏障
StoreStoreBarrier
volatile 写操作
StoreLoadBarrier
LoadLoadBarrier
volatile 读操作
LoadStoreBarrier