Java中volatile关键字浅析

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40718168/article/details/83415792

1.基本理解

a. 可见性:指多个线程之间对共享变量的可见性,一个线程修改状态时别的线程是可见的(意思是一个线程改变了状态,别的线程能够立马及时的看到)。用volatile修饰的变量,当一个线程改变了状态时,其他线程会立马放弃各自缓存中的值,直接从主存中获取最新值刷新自己的缓存。Java中可以使用volatile保证可见性。

b. volatile不能保证原子性但可以保证可见性,volatile能禁止指令重排序。synchronized既能保证原子性又能保证可见性,

参考 https://www.cnblogs.com/rocomp/p/4780532.html

猜你喜欢

转载自blog.csdn.net/qq_40718168/article/details/83415792