Volatile 是 Java 虚拟机提供的 轻量级的同步机制;
volatile 关键字保证变量的可见性以及禁止了指令重排
禁止指令重排
什么是指令重排
你写的程序,计算机并不是按照你写的那样执行
源代码 -> 编译器优化的重排 -> 指令并行也可能重排 -> 内存系统也会重排 -> 执行
处理器在进行指令重排的时候,会考虑:数据之间的依赖性