前言:
目前我们对“java单列”大致比较关切,咱们都需要了解一些“java单列”的相关资讯。那么小编同时在网摘上收集了一些关于“java单列””的相关文章,希望朋友们能喜欢,姐妹们一起来学习一下吧!如上面的注释内容所示,读写 volatile 变量时会加入内存屏障(Memory Barrier(Memory Fence)),保证下面 两点:
1、可见性
(1)写屏障(sfence)保证在该屏障之前的 t1 对共享变量的改动,都同步到主存当中
(2)而读屏障(lfence)保证在该屏障之后 t2 对共享变量的读取,加载的是主存中最新数据
2、有序性
(1)写屏障会确保指令重排序时,不会将写屏障之前的代码排在写屏障之后
(2)读屏障会确保指令重排序时,不会将读屏障之后的代码排在读屏障之前
更底层是读写变量时使用 lock 指令来多核 CPU 之间的可见性与有序性
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java单列