volatile關鍵字與內存可見性

內存可見性問題來源 多個線程操作共享變量的情況下,存在內存可見性問題。如下圖所示,主線程根據flag的狀態來決定是否繼續執行循環;但是當線程1將flag改爲false後,主線程可能會因爲內存可見性的原因,不能及時發現flag已經從true改爲了false,導致不能及時結束或不能結束while循環。這是可以使用volatile關鍵字對flag進行修飾,從而保證flag變量的內存可見性。 volati
相關文章
相關標籤/搜索