Java易失性和缓存一致性

sab*_*sab 17 java volatile

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

或者它是完全处理不同的问题?

ass*_*ias 11

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

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

  • 这是什么指令? (2认同)