Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java atomicinteger

作者:寂寞味道   发布日期:2026-01-14   浏览:64

import java.util.concurrent.atomic.AtomicInteger;

public class AtomicIntegerExample {
    public static void main(String[] args) {
        // 创建一个初始值为0的AtomicInteger对象
        AtomicInteger atomicInt = new AtomicInteger(0);

        // 获取当前值
        System.out.println("Initial value: " + atomicInt.get());  // 输出: Initial value: 0

        // 设置新值为10
        atomicInt.set(10);
        System.out.println("After set: " + atomicInt.get());  // 输出: After set: 10

        // 获取并增加当前值
        int oldValue = atomicInt.getAndIncrement();
        System.out.println("Old value after getAndIncrement: " + oldValue);  // 输出: Old value after getAndIncrement: 10
        System.out.println("New value after getAndIncrement: " + atomicInt.get());  // 输出: New value after getAndIncrement: 11

        // 增加并获取当前值
        int newValue = atomicInt.incrementAndGet();
        System.out.println("Value after incrementAndGet: " + newValue);  // 输出: Value after incrementAndGet: 12

        // 比较并交换值,如果当前值等于预期值,则设置为新值
        boolean isSwapped = atomicInt.compareAndSet(12, 20);
        System.out.println("Is swapped: " + isSwapped);  // 输出: Is swapped: true
        System.out.println("Value after compareAndSet: " + atomicInt.get());  // 输出: Value after compareAndSet: 20

        // 如果当前值不等于预期值,则比较并交换失败
        boolean isNotSwapped = atomicInt.compareAndSet(15, 25);
        System.out.println("Is not swapped: " + isNotSwapped);  // 输出: Is not swapped: false
        System.out.println("Value remains: " + atomicInt.get());  // 输出: Value remains: 20
    }
}

解释说明:

  • AtomicInteger 是 Java 中的一个线程安全的整数类,它提供了原子操作(如递增、递减、比较并交换等),确保在多线程环境下对整数的操作是安全的。
  • get():获取当前值。
  • set(int newValue):设置新的值。
  • getAndIncrement():先获取当前值,然后递增。
  • incrementAndGet():先递增,然后获取更新后的值。
  • compareAndSet(int expect, int update):如果当前值等于预期值,则设置为新值,并返回 true;否则返回 false

上一篇:java date 转 localdate

下一篇:java list to array

大家都在看

java url decode

java判断是windows还是linux

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java读取excel中的图片

java新建

java base64 加密

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站