原子类的分类

作用:保证并发安全,相比于锁,具有一定的优势:

粒度更细:可以把竞争范围缩小到变量级别

效率更高:除了高度竞争的情况,使用原子类的效率比锁更高。

原子类总览

基本类型:AtomicInteger,AtomicLong,AtomicBoolean

数组类型:AtomicIntegerArray,AtomicLongArray,AtomicBooleanArray

引用类型原子类:AtomicReference.AtomicStampedReference,AtomicMarkableReference

升级型:AtomicIntegerfFeldupdater,AtomicLongFieldUpdater,AtomicReferenceFieldUpdater

可以对普通变量进行升级

使用场景:偶尔需要get和set操作

注意点:

  • 属性可见
  • 不支持static变量

 

Adder累加器:LongAdder ,DoubleAdder

LongAdder效率比atomicLong要高。AtomicLong 每做一次加法运算都需要同步,,LongAdder进行分段累加,但是LongAdder只适合求和计数的场景

Accumulator 累加器 LongAccumulator,DoubleAccumulator

功能升级,不限于加操作

线程的执行顺序不能影响执行结果

AtomicInteger常用方法

getAndIncrement

getAndDecrement

getAndAdd

CompareAndSet

CAS原理

compare and swap

应用场景

乐观锁

并发容器

原子类

缺点

ABA问题 添加版本号

自旋时间长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值