Java 内存模型 - 在跨越内存屏障时,究竟是什么被刷新到内存?
2022-09-03 15:15:23
我想我理解单个变量的发生前关系。如果我编写一个易失性字段,则此字段的所有后续读取都将包含此新值。写入 a 会跨越内存屏障,并将新值刷新到主内存。volatile
我仍然不清楚在所有其他情况下会发生什么 - 例如,或新的锁定。它们也跨越记忆障碍是什么意思?哪些数据从本地缓存刷新到主内存?换句话说,过境的范围有多大?Thread.start()
synchronized
java.util.concurrent
一切都总是冲水吗?现在回到 ,它是否不仅仅是单个字段的冲洗?volatile
volatile