Atomic原子类

Atomic原子类原理

1.原理
采用CAS的方式更改值,与Lock和syncronized相比效率更高,Lock和syncronized是采用悲观锁的方式保证线程安全的,而Atomic类采用的乐观锁保证线程安全。

2.涉及的类
AtomicInteger 操作整型数字
AtomicIntegerArray 操作整型数组
AtomicBoolean 操作布尔值
AtomicLong 操作长整型
AtomicLongArray 操作长整型数组
AtomicReference 操作引用类型
AtomicReferenceArray 操作引用类型数组

3.主要方法 (以AtomicBoolean为例)
public final boolean compareAndSet(boolean expect, boolean update) //更新值,比weakCompareAndSet效率更高
public boolean weakCompareAndSet(boolean expect, boolean update) //更新值,可能会返回一些错误不明确的信息,不保证有序性,也不会禁止重排序。
public final void lazySet(boolean newValue) //允许延迟的设置值
public final boolean getAndSet(boolean newValue) //设置值并且获取之前的值,该值一定会设置成功,线程安全

3.使用场景
多线程设置值得时候用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值