1. 程式人生 > >volatile的語義

volatile的語義

1.可見性:當一個執行緒修改了這個值,新值對其他執行緒是立即可知的。當被volatile修飾的變數的值發生改變後,新值會立即從執行緒的工作記憶體重新整理到主記憶體(執行store和write操作),而且執行緒每次使用這個變數前,都會將主記憶體的值重新整理到工作記憶體(read和load操作),普通變數的值線上程間傳遞均需要通過主記憶體來完成。

2.禁止JIT進行指令重排序優化,普通變數不能保證變數賦值操作的順序與程式碼中的執行順序一樣。