Java易失性和缓存一致性

时间:2014-01-15 04:15:32

标签: java volatile

如果在硬件级别实现缓存一致性,为什么我们需要volatile?任何核心/处理器都应该获得最新的价值?

还是完全处理不同的问题?

1 个答案:

答案 0 :(得分:10)

高速缓存一致性可以在处理器级实现,但是,除非processor memory model保证顺序一致性(大多数现代架构不是这种情况),否则只有在你要求时才能获得高速缓存一致性。

这就是volatile的用途:它要求JVM生成相关的机器指令,要求处理器将其缓存与主存储器同步。