📌  相关文章
📜  Java中的 AtomicInteger updateAndGet() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:20.287000             🧑  作者: Mango

Java中的 AtomicInteger updateAndGet() 方法

简介

AtomicInteger类是Java.util.concurrent包中的一个多线程安全的类,为整型变量提供了原子操作,可以在多线程的场合保证操作的原子性,而且比使用synchronized关键字效率要高。updateAndGet()方法是AtomicInteger类的一种方法,用来以原子方式更新当前值,并返回更新后的值。

语法
public final int updateAndGet(IntUnaryOperator updater)

参数:

  • updater:一个函数,以当前值为参数,计算新值,并使用该新值更新AtomicInteger。

返回值:

  • 更新后的值。
示例

下面是一个示例程序,该程序使用updateAndGet()方法来从1到5输出值。

import java.util.concurrent.atomic.AtomicInteger;

public class Main {
  public static void main(String[] args) {
    AtomicInteger number = new AtomicInteger(); // 初始化AtomicInteger对象
    int limit = 5; // 设定循环次数
    for(int i = 1; i <= limit; i++) {
      int updatedNumber = number.updateAndGet(n -> n + 1); // 更新AtomicInteger对象的值
      System.out.println(updatedNumber); // 输出更新后的值
    }
  }
}

程序输出:

1
2
3
4
5

在这个示例中,我们首先创建了一个AtomicInteger对象,并将其初始化为0。然后,我们设定一个循环次数,从1到5输出值。在每次循环中,我们使用updateAndGet()方法来以原子方式将当前值加1,并返回更新后的值。最后,我们将更新后的值输出到控制台上。

这个示例演示了updateAndGet()方法的使用方法,可以在多线程的场合中使用,以保证操作的原子性。