(仅供参考)
a.共享变量的可见能够一定程度保证线程安全,共享变量不可见导致数据不够准确,出现各种各样的问题,导致线程不安全。
b.不同线程之间无法直接访问其他线程工作内存中的变量。
1.可见性
2.上述提到了工作内存,工作内存是Java内存个模型抽象出来的概念,下面看下JMM定义:
3.JMM内存模型如下:
4.共享变量实现可见性的原理:
5.在实现可见性过程中遵循两条规定:
6.实现过程分析:
a.
b.
c.
d.
(附:上述过程实现了共享变量x再线程1和线程2中的可见性。实现可见性实际上是两部,更新到主内存,然后再到工作内存2中,为了更容易理解,分开描述)