volatile的语义

1.可见性:当一个线程修改了这个值,新值对其他线程是立即可知的。当被volatile修饰的变量的值发生改变后,新值会立即从线程的工作内存刷新到主内存(执行store和write操作),而且线程每次使用这个变量前,都会将主内存的值刷新到工作内存(read和load操作),普通变量的值在线程间传递均需要通过主内存来完成。

2.禁止JIT进行指令重排序优化,普通变量不能保证变量赋值操作的顺序与代码中的执行顺序一样。

猜你喜欢

转载自blog.csdn.net/Wengzhengcun/article/details/83589893
今日推荐