網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

volatile原理

欄目: IT科技 / 發佈於: / 人氣:2.06W
品牌型號:聯想小新Pro13/系統版本:windows10

volatile是輕量級的synchronized,在多線程併發編程中發揮着同步共享變量、禁止處理器重排序的重要作用。

Java中的volatile關鍵字保證多線程操作時變量的可見性,如果一個變量被volatile所修飾,在每次數據變化之後,其值都會被強制刷入主存。而其他處理器的快取由於遵守了快取一致性協議,也會把這個變量的值從主存加載到自己的快取中。這就保證了一個volatile在併發編程中,其值在多個快取中是可見的。

volatile除了可以保證數據的可見性之外,還可以禁止指令重排優化等。被volatile修飾的變量的操作,會嚴格按照代碼順序執行,load->add->save 的執行順序就是:load、add、save。 

 

volatile原理

Tags:volatile