先看一個(gè)例子:
雖然在變量numb上使用了volatile,但是得出的結(jié)果是不固定的谆沃,這說(shuō)明包券,volatile是一個(gè)非線程安全的關(guān)鍵字。
volatile關(guān)鍵字的應(yīng)用場(chǎng)景:
? ? 由于例子已經(jīng)說(shuō)明volatile在競(jìng)爭(zhēng)性的寫操作上是線程不安全的(因?yàn)槊總€(gè)線程都是從存儲(chǔ)volatile的變量去取值偎漫,但是++操作在匯編中實(shí)際上有4步操作,那么多個(gè)線程就不會(huì)保證同步了悯搔。多線程還是只有用Lock或synchronized)骑丸,那么只有當(dāng)多線程只針對(duì)volatile變量做判斷的場(chǎng)景下才有效。例如: