我听到很多人说volatile关键字在多核处理器中更有意义
比单核处理器,但不知道原因。我试图用谷歌搜索,但没有帮助
这方面。有什么理由吗?
根据我的理解,无论是多核还是单处理器,volatile关键字都应具有同等的重要性。
原因是volatile,它保证值将在主存储器(堆)中更新而不是保持
它在所有线程都可以看到的线程本地内存(堆栈)中。因此,无论是多核还是单处理器,
它有什么不同?
最佳答案
“易失性意识”与内核数量无关。 JVM隐藏了基础架构。更不用说volatile是语言关键字,因此它在每种体系结构上的行为都应相同。
您描述了volatile的作用,这是正确的。应用程序的体系结构可能需要使用volatile,仅此而已。
如果您有兴趣,这是一篇与volatile有关的好文章,以及Java中使用的内存模型的基本概念。
http://jeremymanson.blogspot.hu/2008/11/what-volatile-means-in-java.html