线程之volatile
1.谈谈你对volatile的理解
volatile是java虚拟机提供的轻量级的同步机制
1.保证可见性
可见性:
线程修改数据的过程:各个线程能够看到主内存的值,更新数据时,需要从主内存中拷贝到线程的工作空间,然后写回到主物理
内存。整个过程保证其他线程都能收到数据变动通知。
2.不保证原子性
3.禁止指令重排
2.你谈谈JMM
Java内存模型,不真实存在,是需要遵守的规范,可见性,原子性,有序性
jmm关于同步的规定:
1.线程解锁前,必须把共享变量的值刷回到主内存
2.线程加锁前,必须读取主内存的最新值到工作内存中
3.加锁解锁是同一把锁

浙公网安备 33010602011771号