我听很多人说 volatile 关键字在多核处理器中更有意义 比单核处理器但不知道原因。我试图谷歌但没有帮助 这方面。有什么理由吗?
根据我的理解,无论是多核处理器还是单处理器,volatile 关键字都应该具有同等的重要性。 原因是 volatile ,它保证值将在主内存(堆)中更新而不是保留 它在所有线程都可以看到的线程本地内存(堆栈)中。所以无论是多核还是单处理器, 它有何不同?
最佳答案
“volatile感”与核心数无关。 JVM 隐藏了底层架构。更不用说 volatile 是一种语言关键字,因此它在每种架构上的行为都应该相同。
您描述了 volatile 的作用,这是正确的。可能需要使用 volatile 的应用程序架构,仅此而已。
如果您有兴趣,这里有一篇与 volatile 以及 Java 中使用的内存模型的基本概念相关的精彩帖子。
http://jeremymanson.blogspot.hu/2008/11/what-volatile-means-in-java.html
关于java - 多核与单处理器中的 volatile 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593061/