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

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

Java中的 AtomicLongArray getAndDecrement() 方法及示例

介绍

在 Java 中,AtomicLongArray 类提供了一种原子更新长整型数组元素的方式。该类中的 getAndDecrement() 方法可以获取并减少指定位置的元素的值,因此可以实现线程安全的计数器等功能。

方法签名
public final long getAndDecrement(int i)
参数说明
  • i:要获取并减少其值的元素的下标。
返回值
  • 要获取的元素的旧值。
示例

下面是一个简单的示例,演示了如何使用 AtomicLongArray 类及其 getAndDecrement() 方法。

import java.util.concurrent.atomic.AtomicLongArray;

public class Main {
    public static void main(String[] args) {
        // 创建一个包含 5 个元素的 AtomicLongArray 对象,所有元素的初始值均为 0
        AtomicLongArray array = new AtomicLongArray(5);
        System.out.println("原始数组元素:" + array);
        
        // 将第 2 个元素的值减 1,并获取减少前的旧值
        long oldValue = array.getAndDecrement(2);
        System.out.println("第 2 个元素的旧值:" + oldValue);
        System.out.println("减少后的数组元素:" + array);
    }
}

输出结果如下:

原始数组元素:[0, 0, 0, 0, 0]
第 2 个元素的旧值:0
减少后的数组元素:[0, 0, -1, 0, 0]

在上面的示例中,我们创建了一个包含 5 个元素的 AtomicLongArray 对象,并将所有元素的初始值设置为 0。然后,使用 getAndDecrement() 方法将第 2 个元素的值减 1,并获取减少前的旧值。最后,打印减少后的数组元素。可以看到,第 2 个元素的值从 0 减少到了 -1。