自己学习的理解,方便回忆: 一旦一个共享变量被volatile修饰,具有两层语义 保证了对不同线程间的可见性禁止对其进行重排序,也就是保证了有序性并未保证原子性 保证重排序不会把后面执行的指令放到前面,也不会把前面的放到后面。强制对缓存的修改操作立刻写入主存如果是写操作,它会导致其他cpu中的缓存失效