【发布时间】:2012-04-15 20:04:53
【问题描述】:
此问题与Should my Scala actors' properties be marked @volatile? 相似,但不确定答案是否相同。
例如,如果配置了 fork-join 调度程序并且参与者的状态未由 @volatile 标记,是否保证参与者的状态将通过缓存层次结构从一个核心(或处理器)传播到另一个如果 fork/join 工作线程在不同的内核(或处理器)上运行?
附:在 JSR133 之后,只需对任何易失性变量进行一次写入/读取操作,即可将缓存刷新到主内存并在其他内核(或处理器)上运行的其他线程上查看该线程的所有先前非易失性写入,这对吗?如果是,那么它可以回答,因为扫描工作队列会读取和写入 FJ 任务的易失性变量。
【问题讨论】: