/**
* volatile 是java虚拟机提供轻量级的同步机制
* 1、保证可见性
* 2、不保证原子性
* 3、禁止指令重排
*
* JMM 约定
* 1、线程解锁前,必须要把共享变量立刻刷回主存
* 2、线程枷锁前,必须读取主存中最新的值到工作内存中间
* 3、加锁和解锁是一把锁
*
* 工作内存,主存
* 8种操作
*
*/
image.png
image.png
image.png