AtomicInteger 类通过提供对值执行原子操作的方法来保护底层的 int 值。
自 Java 1.5 以来,AtomicInteger
类是java.util.concurrent.atomic
包的一部分。
欢迎来到之路教程(on itroad-com)
使用AtomicInteger 作为原子计数器示例
在多个线程中同时使用的原子计数器。
为了将其用作计数器,AtomicInteger
类提供了一些以原子方式执行加法和减法操作的方法。
addAndGet()
- 以原子方式将给定值与当前值相加,并在相加后返回新值。getAndAdd()
- 以原子方式将给定值添加到当前值并返回旧值。incrementAndGet()
- 以原子方式将当前值递增 1 并在递增后返回新值。相当于 ++i 操作。getAndIncrement()
- 以原子方式递增当前值并返回旧值。它相当于 i++ 操作。decrementAndGet()
- 以原子方式将当前值递减 1 并在递减后返回新值。它等价于 i- - 操作。getAndDecrement()
- 原子地递减当前值并返回旧值。相当于--i操作。
public class Main { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(100); System.out.println(atomicInteger.addAndGet(2)); //102 System.out.println(atomicInteger); //102 System.out.println(atomicInteger.getAndAdd(2)); //102 System.out.println(atomicInteger); //104 System.out.println(atomicInteger.incrementAndGet()); //105 System.out.println(atomicInteger); //105 System.out.println(atomicInteger.getAndIncrement()); //105 System.out.println(atomicInteger); //106 System.out.println(atomicInteger.decrementAndGet()); //105 System.out.println(atomicInteger); //105 System.out.println(atomicInteger.getAndDecrement()); //105 System.out.println(atomicInteger); //104 } }
Java如何创建、获取和设置 AtomicInteger 的值
通过调用构造函数可以直接创建 AtomicInteger
。AtomicInteger
提供了两种方法来获取和设置它的实例的值。
// 初始值为 0 AtomicInteger atomicInteger = new AtomicInteger(); // 初始值为 100 AtomicInteger atomicInteger = new AtomicInteger(100); int currentValue = atomicInteger.get(); // 获取AtomicInteger值 atomicInteger.set(1234); // 设置AtomicInteger值
日期:2020-09-17 00:09:32 来源:oir作者:oir