1. 程式人生 > >volatile關鍵字——可見性

volatile關鍵字——可見性

(1)volatile是輕量級的synchronized,它在多處理器開發中保證了共享變數的“可見性”,但無法保證“原子性”。

(2)volatile不會引起執行緒上下文的切換,在使用恰當的情況下,比synchronized的使用和執行成本更低.

(3)只能在類屬性宣告處才能使用volatile,區域性變數宣告為volatile會報錯。

(4)應避免在32位的JVM上將double、long型的屬性宣告成volatile,因為在32位JVM上訪問一個double或long型的變數值需要進行兩步操作,若要安全地訪問它們的值,原子性(通過synchronized)也是必要的。