同事问我:既然有 volatile,为什么还要加锁 上周 code review,同事看到我写的一个状态标记用了 volatile,问我:"这东西不是能保证线程安全吗,那 synchronized 还有什么用?" 我说不能这么理解,但当时没能讲清楚。下来自己看了几天 JMM 的资料,又写了几个例子验