JMM - Java内存模型

内存模型的作用是定义变量的访问规则。包含:实例字段、静态字段、构成数组对象的元素。不包括局部变量和方法参数等线程私有变量

JMM所有变量都在主存,每个线程都有自己的工作内存。线程的工作内存中保存了线程中变量的拷贝副本。线程对变量的所有操作都在工作内存中进行,不同线程间的值传递需要通过主存完成。

过程:

A把自己的变量刷新到主存。

B到主存中读A刷新的,复制到自己的内存中。

 ||

 \/

可见性:Volatile的工作原理:变量修改后新值立刻更新到主存,使用前从主存中刷新。

Reentrantlock也可以实现可见性。方法开始时用lock锁住,方法最后解锁即可。synchronized同理

猜你喜欢

转载自www.cnblogs.com/GW977/p/10721202.html