高并發(fā)編程-06-可見性-volatile

1,volatile的作用

volatile是一個輕量級的線程同步機(jī)制。它的特性之一,是保證了變量在線程之間的可見性。

當(dāng)然,還有我們之前說的,解決指令重排的問題

volatile保證了在多個線程之間是可見的,但不能保證原子性操作

當(dāng)一個線程修改了變量的值之后,其他線程可以感知到

2,volatile vs synchronized

synchronized也是保證了線程的可見性,同時也具備了多線程之間的互斥性

3,如何使用?

private volatile int count;

4,volatile底層實現(xiàn)原理

工作內(nèi)存(cpu),主內(nèi)存,當(dāng)變量被聲明為volatile后,JVM會每次都從主內(nèi)存去讀取,而不是讀取自己的工作內(nèi)存

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容