基于 AtomicInteger 实现原子性操作的i++
- 使用 AtomicInteger
常用的方法:
//初始化一个 AtomicInteger 初始值为 0
AtomicInteger counter = new AtomicInteger(0);
//counter ++
counter.getAndIncrement();
//counter --
counter.getAndDecrement();
//获取当前值
counter.get();
方法摘要
Modifier and Type | Method and Description | ------------ |
---|---|---|
int | accumulateAndGet(int x,IntBinaryOperator accumulatorFunction) | 自动更新当前值与给定的功能应用到当前和给定值的结果,返回更新后的值。 |
int | addAndGet(int delta) | 自动添加给定值和当前值。 |
boolean | compareAndSet(int expect, int update) | 自动设置的值来指定更新值,如果电流值 ==期望值。 |
int | decrementAndGet() | 原子由一个电流值递减。 |
double | doubleValue() | 为扩大基本转换后的 double返回该 AtomicInteger价值。 |
float | floatValue() | 为扩大基本转换后的 float返回该 AtomicInteger价值。 |
int | get() | 获取当前值。 |
int | getAndAccumulate(int x,IntBinaryOperator accumulatorFunction) | 自动更新当前值与给定的功能应用到当前和给定值的结果,返回前一个值。 |
int | getAndAdd(int delta) | 自动添加给定值和当前值。 |
int | getAndDecrement() | 原子由一个电流值递减。 |
int | getAndIncrement() | 原子逐个增加电流值。 |
int | getAndSet(int newValue) | 自动设置为给定的值并返回旧值。 |
int | getAndUpdate(IntUnaryOperator updateFunction) | 自动更新当前值与结果应用给定的函数,返回前一个值。 |
int | incrementAndGet() | 原子逐个增加电流值。 |
int | intValue() | 作为一个 int返回该 AtomicInteger价值。 |
void | lazySet(int newValue) | 最终设置为给定的值。 |
long | longValue() | 为扩大基本转换后的 long返回该 AtomicInteger价值。 |
void | set(int newValue) | 给定值的集合。 |
String | toString() | 返回当前值的字符串表示形式。 |
int | updateAndGet(IntUnaryOperator updateFunction) | 自动更新当前值与结果应用给定的函数,返回更新后的值。 |
boolean | weakCompareAndSet(int expect, int update) | 自动设置的值来指定更新值,如果电流值 ==期望值。 |