谈谈对volatile的理解

1.volatile是java虚拟机提供的轻量级的同步机制(对应重量级的是sychronized)
三大特性:
①保证可见性
②不保证原子性
③禁止指令重排序

2.JMM:java memory model java内存模型
工作内存
主内存

 最终 保证可见性

3.不保证原子性:

 原子性:某个线程正在做某个具体业务的时候,中间不可以被加塞或者分割,需要整体完整,要么同时成功  要么同时失败。
  
  解决原子性的方法? 加sync  
                    使用juc下的automicInteger

4.指令重排序:

posted @ 2021-01-12 19:06  进丁520  阅读(82)  评论(0)    收藏  举报