阅读背景:

2021-01-04 juc &jdk1.8_daodaodaoge的博客

来源:互联网 

juc
volatile关键字:jmm中每个线程会把主存中的数据拿到自己的缓存中,造成个个线程间数据不一致,不可见,volatile保证了一个线程修改了主存的数据,会通知其他线程重新获取。防止重排,在volatile修饰的语句前后设置内存屏障,防止CPU指令重排,例子:双重判空懒汉单例模式,因指令重排可能会制造出未初始化完全的对象,造成代码错误。 volatile关键字:jmm中每个线程会把主存中的数据拿到自己的缓存中




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: