此問題與Should my Scala actors' properties be marked @volatile?類似,但不確定答案是否相同。例如,如果配置了fork-join調度程序並且actor的狀態未由@volatile標記,則保證actor的狀態將通過來自一個內核(或處理器)的緩存層次結構進行傳播,如果fork/join工作線程在不同的核心(或處理器)上運行,那麼到另一個?我的Akka演員的屬性應該標記爲@volatile嗎?
P.S.在JSR133之後,對於將緩存刷新到主內存並查看其他內核(或處理器)上運行的其他線程上的此線程的所有非易失性寫入所需的任何易失性變量,只有一次對JSR133執行寫入/讀取操作是正確的嗎?如果是,那麼它可以是答案,因爲工作隊列的掃描執行一些讀取和從/向FJ任務的易失性變量寫入。