Atomic原子操作

本文介绍了Java并发编程中的Atomic原子操作,包括AtomicBoolean、AtomicInteger的基本使用,如构造函数、常用方法及应用场景。此外,还提到了AtomicIntegerArray的构造和方法,以及Atomic引用类型如AtomicReference在更新对象字段时的原子性操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Atomic原子操作

Atomic 基本类型

1. AtomicBoolean

AtomicBoolean数据Atomic包下面的线程安全类。是以原子方式更新boolean值的。
1.1. 构造函数
  • new AtomicBoolean();
  • new AtomicBoolean(boolean initialValue);

    如果方法中的参数不填写,默认为false。

1.2. 常用方法
  • get();

    返回当前boolean值

  • set(boolean value);

    无条件设置boolean值

  • compareAndSet(boolean expect, boolean update);

    如果当前值与预期值一直,以原子方式将当前值更新,并返回true;否则返回false。

  • getAndSet(boolean value);

    以原子形式将当前值进行更新并返回原始值。

1.3. 应用场景
1.3.1. 多线程中数据初始化
private AtomicBoolean initState = new AtomicBoolean(false);  

@Override  
public void init() {  
    if (! initState.compareAndSet(false, true)) {
  
  //init once  
        return ;  
    }  
    //TODO 写初始化代码  
}  
1.3.2. 接收和发送消息的程序以进程的形式部署,在关闭进程中的destory方法中将变量更新。
private AtomicBoolean shutdown = new AtomicBoolean();

//接收消息
@Override
public void run(){
    while(!shutdown.get()){

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值