共享變量在線程中的可見性問題分析

致使共享變量在線程間不可見的緣由: 1)線程交叉執行 2)重排序結合線程交叉執行 3)共享變量更新後的值沒有在工做內存與主存間及時更新 可見性-synchronized JVM中關於synchronized的兩條規定: 1)線程解鎖前,必須把共享變量的最新值刷到主內存 2)線程加鎖時,將清空工做內存中共享變量的值,從而使用共享變量時須要從主內存中從新讀取最新的值( 注意:加鎖和解鎖是同一把鎖) 可
相關文章
相關標籤/搜索