先來看一下volatile這個單詞的本義:
直白一點,volatile就是表示某人或某物是不穩定的、易變的。。
volatile作為程式中常用的關鍵詞之一,用以聲明變量的值可能随時會被别的線程修改。
使用volatile修飾的變量會強制将修改的值立即寫入主存,主存中的值更新會使緩存中值失效。
非volatile變量不具備這樣的特性,非volatile變量的值會被緩存,線程A更新了這個值,線程B讀取這個變量的值時可能讀到的并不是線程A更新後的值。
先來看一下volatile這個單詞的本義:
直白一點,volatile就是表示某人或某物是不穩定的、易變的。。
volatile作為程式中常用的關鍵詞之一,用以聲明變量的值可能随時會被别的線程修改。
使用volatile修飾的變量會強制将修改的值立即寫入主存,主存中的值更新會使緩存中值失效。
非volatile變量不具備這樣的特性,非volatile變量的值會被緩存,線程A更新了這個值,線程B讀取這個變量的值時可能讀到的并不是線程A更新後的值。