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

📅  最后修改于: 2023-12-03 14:42:43.978000             🧑  作者: Mango

Java中的 AtomicLong addAndGet() 方法及示例

在多线程并发的环境下,通常我们需要使用原子操作,以保证线程安全和数据的正确性。Java中提供了AtomicLong类,用于对long类型进行原子操作。

其中,addAndGet()方法可以原子性地将参数和AtomicLong的值相加,并返回相加后的结果。

下面是一个示例:

import java.util.concurrent.atomic.AtomicLong;

public class Example {
    private static AtomicLong counter = new AtomicLong();

    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            new Thread(() -> {
                long result = counter.addAndGet(1);
                System.out.println(result);
            }).start();
        }
    }
}

在这个示例中,我们创建了一个AtomicLong对象counter,并将其初始值设为0。然后,创建了10个线程,每个线程调用addAndGet()方法将1加到counter的值上,并输出相加后的结果。

由于addAndGet()方法是原子性的,所以即使有多个线程同时调用该方法,也不会出现竞态条件,从而保证计数器的正确性。

输出结果如下:

1
2
3
4
5
6
7
8
9
10

可以看到,每个线程成功地将1加到了计数器的值上,而没有发生错误。

以上就是Java中的AtomicLong addAndGet()方法及示例介绍,希望能对你的学习有所帮助。