1. 程式人生 > >Java 中的 volatile關鍵字含義

Java 中的 volatile關鍵字含義

tile 兩個 修飾 有一個 ava 禁止 不能 關鍵字 內存可見性

Java 中的 volatile 關鍵字有兩個主要的作用,一個是保證內存的可見性,還有一個作用就是禁止指令重排序的發生。

上面我們已經簡答的提到了 volatile 關鍵字的作用,一個是保證內存的可見性,還有防止指令重排序。

下面再來解釋一下內存可見性

內存可見性:當一條線程修改了某個值,這個新值對於其他的線程是立即可見的,普通的變量不具備這個特征


下面說結論,被 volatile 關鍵字修飾的變量不是線程安全的,因為 volatile 不能保證原子性。

再另外的說一句,被 synchronized 修飾的代碼塊具備原子性。

Java 中的 volatile關鍵字含義