标签: java volatile
如果在硬件级别实现缓存一致性,为什么我们需要volatile?任何核心/处理器都应该获得最新的价值?
还是完全处理不同的问题?
答案 0 :(得分:10)
高速缓存一致性可以在处理器级实现,但是,除非processor memory model保证顺序一致性(大多数现代架构不是这种情况),否则只有在你要求时才能获得高速缓存一致性。
这就是volatile的用途:它要求JVM生成相关的机器指令,要求处理器将其缓存与主存储器同步。