volatile

作者: 03ca2835cf70 | 来源:发表于2019-11-05 09:47 被阅读0次

https://www.hollischuang.com/archives/2648
总结下来:

第一:使用volatile关键字会强制将修改的值立即写入主存;

第二:使用volatile关键字的话,当线程2进行修改时,会导致线程1的工作内存中缓存变量的缓存行无效(反映到硬件层的话,就是CPU的L1或者L2缓存中对应的缓存行无效);

第三:由于线程1的工作内存中缓存变量的缓存行无效,所以线程1再次读取变量的值时会去主存读取。

而volatile除了可以保证数据的可见性之外,还有一个强大的功能,那就是他可以禁止指令重排优化等。

相关文章

网友评论

      本文标题:volatile

      本文链接:https://www.haomeiwen.com/subject/bmmsmctx.html