Java并發(fā)編程之volatile變量介紹
更新時間:2015年04月13日 10:47:22 投稿:junjie
這篇文章主要介紹了Java并發(fā)編程之volatile變量介紹,volatile提供了弱同步機制,用來確保將變量更新通知到其它線程,需要的朋友可以參考下
volatile提供了弱同步機制,用來確保將變量更新通知到其它線程。volatile變量不會被緩存在寄存器中或者對其它處理器不可見的地方,因此在讀取volatile變量時總會返回最新寫入的值??梢韵胂蟪扇缦抡Z義,然而volatile是更輕量級的同步機制。volatile只能確保可見性,但不能保證原子性。也就是說不能在復合操作用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關鍵字
- Java并發(fā)教程之volatile關鍵字詳解
- 詳解java并發(fā)編程(2) --Synchronized與Volatile區(qū)別
- Java并發(fā)編程-volatile可見性詳解
- 深入分析java并發(fā)編程中volatile的實現(xiàn)原理
- Java多線程并發(fā)編程 Volatile關鍵字
- java 高并發(fā)中volatile的實現(xiàn)原理
- Java并發(fā)編程:volatile關鍵字詳細解析
- Java 并發(fā)編程:volatile的使用及其原理解析
- 詳解Java并發(fā)編程基礎之volatile
相關文章
Java 利用枚舉實現(xiàn)接口進行統(tǒng)一管理
這篇文章主要介紹了Java 利用枚舉實現(xiàn)接口進行統(tǒng)一管理,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-02-02

