JDK原子類的原理和使用

2021-08-21 08:45:05 字數 385 閱讀 1108

public

class sequence

}

基本型別的原子類除了atomicinteger 外還有atomicboolean,atomiclong。使用基本型別原子類能夠保證對基本型別資料操作的原子性,從而保證執行緒安全性。

public

class sequence ;

atomicintegerarray at = new atomicintegerarray(a);

public

intadd()

}

陣列型別的原子類除了atomicintegerarray,還有atomiclongarray,atomicreferencearray

java中atomic原子類的原理介紹

atomic原子類導圖 無鎖即無障礙的執行,所有執行緒都可以到達臨界區,接近於無等待.無鎖採用cas compare and swap 演算法來處理執行緒衝突,其原理如下 cas包含3個引數cas v,e,n v表示要更新的變數,e表示預期值,n表示新值.僅當v值等於e值時,才會將v的值設為n,如果...

原子類的分類

作用 保證併發安全,相比於鎖,具有一定的優勢 粒度更細 可以把競爭範圍縮小到變數級別 效率更高 除了高度競爭的情況,使用原子類的效率比鎖更高。可以對普通變數進行公升級 使用場景 偶爾需要get和set操作 注意點 longadder效率比atomiclong要高。atomiclong 每做一次加法運...

原子類的 ABA 問題

public class atomicreferencedemo 當有乙個值從 a 改為 b 又改為 a,這就是 aba 問題 public class abademo start new thread catch interruptedexception e atomicreference.com...