标签:cpu 结果 bsp ola 依赖关系 其他 而在 最新 内存
volatile关键字有两个特性:
因为JVM要求线程每次使用工作内存中的volatile变量时,都必须从主内存中刷新获取最新的值;执行线程每次修改工作内存中的volatile变量后也必须立刻将之同步回主内存,这样一个线程修改了volatile变量的值,其他线程可以立即得知。
CPU需要能正确处理指令依赖情况以保障程序能得出正确的执行结果。因为修改volatile变量的值之后需要将之立即同步到主内存,这样就无形中使对修改volatile变量之前的操作依赖于修改后同步到内存的操作,这种依赖关系是CPU在指令重排时也无法忽视的,从而在某种程度上禁止了指令重排序。
######
标签:cpu 结果 bsp ola 依赖关系 其他 而在 最新 内存
原文地址:https://www.cnblogs.com/amunote/p/10301596.html