Java并發(fā)編程之volatile變量介紹
volatile提供了弱同步機制,用來確保將變量更新通知到其它線程。volatile變量不會被緩存在寄存器中或者對其它處理器不可見的地方,因此在讀取volatile變量時總會返回最新寫入的值??梢韵胂蟪扇缦抡Z義,然而volatile是更輕量級的同步機制。volatile只能確??梢娦裕荒鼙WC原子性。也就是說不能在復(fù)合操作用volatile變量,比如i++。
public synchronized void setValue(int value){
this.value = value;
}
public synchronized int getValue(){
return value;
}
當滿足以下條件所有條件,才能使用volatile變量
1.對變量的寫入操作不依賴變量的當前值,或者你能確保只有單個線程更新變量值。
2.該變量不會與其他狀態(tài)變量一起納入不變性條件
3.在訪問變量是不需要加鎖
- Java并發(fā)編程——volatile關(guān)鍵字
- Java并發(fā)教程之volatile關(guān)鍵字詳解
- 詳解java并發(fā)編程(2) --Synchronized與Volatile區(qū)別
- Java并發(fā)編程-volatile可見性詳解
- 深入分析java并發(fā)編程中volatile的實現(xiàn)原理
- Java多線程并發(fā)編程 Volatile關(guān)鍵字
- java 高并發(fā)中volatile的實現(xiàn)原理
- Java并發(fā)編程:volatile關(guān)鍵字詳細解析
- Java 并發(fā)編程:volatile的使用及其原理解析
- 詳解Java并發(fā)編程基礎(chǔ)之volatile
相關(guān)文章
Java 利用枚舉實現(xiàn)接口進行統(tǒng)一管理
這篇文章主要介紹了Java 利用枚舉實現(xiàn)接口進行統(tǒng)一管理,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02Java Web項目中編寫定時任務(wù)的實現(xiàn)
本篇文章主要介紹了Java Web項目中編寫定時任務(wù)的實現(xiàn),具有一定的參考價值,有興趣的可以了解一下。2017-01-01