深入理解volatile原理。

volatile的兩個功能:①防止指令重排②可見性。 1什麼是指令重排? 爲了使處理器內部的運算單元可以充分的被利用,處理器可能會對輸入代碼進行亂序執行優化,處理器會在計算之後將亂序的結果重組,保證該結果和順序執行的結果一致,但並不保證程序中各個語句計算的先後順序和輸入代碼中的順序一致。Java虛擬機的即時編譯器也有類似的指令重排的機制。 而volatile防止指令重排的功能,防止多線程情況下發生
相關文章
相關標籤/搜索