Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java易失性与缓存一致性_Java_Volatile - Fatal编程技术网

Java易失性与缓存一致性

Java易失性与缓存一致性,java,volatile,Java,Volatile,如果缓存一致性是在硬件级别实现的,为什么我们需要volatile?任何核心/处理器都应该获得最新的值 或者它是在处理一个完全不同的问题?缓存一致性可以在处理器级别实现,但是,除非保证顺序一致性(在大多数现代体系结构中不是这样),否则只有在您要求时,您才能获得缓存一致性 这就是volatile的用途:它要求JVM生成相关的机器指令,这些指令将要求处理器将其缓存与主存同步。您可能需要阅读或Java语言规范,此处解释。@vanza您提供的问题不涉及缓存一致性关键字这是什么指令?

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


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

缓存一致性可以在处理器级别实现,但是,除非保证顺序一致性(在大多数现代体系结构中不是这样),否则只有在您要求时,您才能获得缓存一致性


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

您可能需要阅读或Java语言规范,此处解释。@vanza您提供的问题不涉及缓存一致性关键字这是什么指令?