在 Java 中,java.util.concurrent.atomic
包提供了一组原子类,它们用于在多线程环境中执行原子操作。AtomicInteger
是这个包中最基本的原子类之一,它提供了一种线程安全的方式来进行整数的原子操作。以下是如何使用 AtomicInteger
来实现线程安全的计数:
-
基本使用:
AtomicInteger
类提供了基本的原子操作,如incrementAndGet()
、decrementAndGet()
、getAndIncrement()
等,这些方法都是线程安全的。AtomicInteger count = new AtomicInteger(0); // 初始化计数器为0 // 线程安全的自增操作 int newValue = count.incrementAndGet(); // 线程安全的自减操作 int currentValue = count.decrementAndGet(); // 获取当前值 int value = count.get();
-
在多线程中使用:
当多个线程需要对同一个计数器进行操作时,AtomicInteger
可以确保这些操作是原子的,不会出现线程间的数据竞争。