原子類的分類

2021-10-22 22:34:19 字數 471 閱讀 5827

作用:保證併發安全,相比於鎖,具有一定的優勢:

粒度更細:可以把競爭範圍縮小到變數級別

效率更高:除了高度競爭的情況,使用原子類的效率比鎖更高。

可以對普通變數進行公升級

使用場景:偶爾需要get和set操作

注意點:

longadder效率比atomiclong要高。atomiclong 每做一次加法運算都需要同步,,longadder進行分段累加,但是longadder只適合求和計數的場景

功能公升級,不限於加操作

執行緒的執行順序不能影響執行結果

atomicinteger常用方法

getandincrement

getanddecrement

getandadd

compareandset

compare and swap

樂觀鎖併發容器

原子類aba問題 新增版本號

自旋時間長

原子操作與原子型別

多執行緒是併發程式設計中不可或缺的部分,而所謂原子操作,也就是指多執行緒中 最小的且不可並行化的 操作,如果乙個共享資源的操作時原子操作的話,意味著多個執行緒訪問該資源時,有且僅有乙個執行緒在對這個資源進行操作。通常情況下,原子操作都是通過 互斥 來實現的,例如mutex。這種操作在開發當中使用相當...

原子類的 ABA 問題

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

JUC中的原子類總結

atomic原子類介紹 atomic 是指乙個操作是不可中斷的。即使是在多個執行緒一起執行的時候,乙個操作一旦開始,就不會被其他執行緒干擾。分類 根據操作的資料型別,可以分為4類 基本資料型別 陣列型別 使用原子的方式更新陣列裡的某個元素 引用型別 物件的屬性修改型別 通過乙個簡單例子帶大家看一下基...