CS-Notes 学习笔记
面试冲刺 · Java

volatile 能保证什么,不能保证什么?

先自己想一想,再看参考要点

参考要点

  • 保证可见性:写入后其它线程读取时立即可见
  • 保证有序性:volatile 写之前、volatile 读之后的读写不会被重排序越过它,可用来发布数据(如双重校验锁单例)
  • 不保证 count++ 这类复合操作的原子性,要用锁或原子类
在学习站中自测这道题看这道题所在的一天

学习站:先用面试题自评定级,按水平和面试日期排出每天的计划,自评过的题按间隔复习。免费、无需注册,记录只保存在自己的浏览器中。