【发布时间】:2014-01-25 07:23:23
【问题描述】:
Java 并发实践说(在 JMM 章节中)
易失性变量规则:对易失性字段的写入发生在对同一字段的每次后续读取之前
我的问题是:对 volatile 字段的读取发生在对同一字段的任何/每次后续写入之前??
【问题讨论】:
Java 并发实践说(在 JMM 章节中)
易失性变量规则:对易失性字段的写入发生在对同一字段的每次后续读取之前
我的问题是:对 volatile 字段的读取发生在对同一字段的任何/每次后续写入之前??
【问题讨论】:
理论上这是一种单向关系。在JLS #17.4.5 中定义了发生前关系的详尽列表,并且仅包括hb(volatile write, volatile read)。
但是它很可能是由 JVM 以两种方式实现的(热点就是这种情况)。
【讨论】: