编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

AtomicInteger详解

AtomicInteger 是 Java 提供的一个原子类,位于 java.util.concurrent.atomic 包中。它是一个整数(int),提供了一些线程安全的原子操作,如加法、减法、自增、自减等。由于采用了原子操作,AtomicInteger 是线程安全的。其内部使用了非阻塞算法和硬件级别的原子操作实现,因此相比于使用 synchronized 同步锁,性能更高。

以下是一些 AtomicInteger 的常用方法:

创建实例

AtomicInteger(): 初始化为 0。

AtomicInteger(int initialValue): 使用给定的初始值创建一个新的 AtomicInteger。

获取和设置值

int get(): 获取当前值。

void set(int newValue): 设置新值。

int getAndSet(int newValue): 获取当前值并设置新值。

原子更新操作

int getAndIncrement(): 获取当前值并自增。

int getAndDecrement(): 获取当前值并自减。

int getAndAdd(int delta): 获取当前值并添加给定的增量。

int addAndGet(int delta): 添加给定的增量并获取结果。

int incrementAndGet(): 自增并获取结果。

int decrementAndGet(): 自减并获取结果。

原子比较和更新操作

boolean compareAndSet(int expect, int update): 如果当前值与预期值相等,则原子地设置为新值。

由于 AtomicInteger 的线程安全性,它适用于多线程环境中的计数器、序列生成器等场景。不过,需要注意的是,AtomicInteger 只保证单个原子操作的线程安全,如果需要在多个原子操作之间保持一致性,可能需要使用其他同步机制。

未经允许不得转载: 技术文章 » Java编程 » AtomicInteger详解