public class AtomicIntegerArray extends Object implements Serializable
int数组,其中元素可以原子更新。
有关原子变量属性的描述,请参阅java.util.concurrent.atomic包规范。
| Constructor and Description |
|---|
AtomicIntegerArray(int length)
创建给定长度的新AtomicIntegerArray,所有元素最初为零。
|
AtomicIntegerArray(int[] array)
创建一个新的AtomicIntegerArray,其长度与从给定数组复制的所有元素相同。
|
| Modifier and Type | Method and Description |
|---|---|
int |
accumulateAndGet(int i, int x, IntBinaryOperator accumulatorFunction)
以索引
i原子更新元素,并将给定函数应用于当前值和给定值,返回更新后的值。
|
int |
addAndGet(int i, int delta)
原子地将索引
i的给定值添加到元素。
|
boolean |
compareAndSet(int i, int expect, int update)
如果当前值
==为预期值,则
i地将位置
i处的元素设置为给定的更新值。
|
int |
decrementAndGet(int i)
索引
i的元素原子
i 。
|
int |
get(int i)
获取位置
i的当前值。
|
int |
getAndAccumulate(int i, int x, IntBinaryOperator accumulatorFunction)
以索引
i原子更新元素,并将给定函数应用于当前值和给定值,返回上一个值。
|
int |
getAndAdd(int i, int delta)
将索引
i的给定值原子地添加到元素。
|
int |
getAndDecrement(int i)
索引
i的元素原子
i 。
|
int |
getAndIncrement(int i)
在索引
i原子上增加一个元素。
|
int |
getAndSet(int i, int newValue)
将位置
i的元素原子设置为给定值并返回旧值。
|
int |
getAndUpdate(int i, IntUnaryOperator updateFunction)
使用应用给定函数的结果原子更新索引
i处的元素,返回上一个值。
|
int |
incrementAndGet(int i)
在索引
i原子上增加一个元素。
|
void |
lazySet(int i, int newValue)
最终将位置
i的元素设置为给定值。
|
int |
length()
返回数组的长度。
|
void |
set(int i, int newValue)
将位置
i处的元素设置为给定值。
|
String |
toString()
返回数组的当前值的String表示形式。
|
int |
updateAndGet(int i, IntUnaryOperator updateFunction)
以索引
i原子更新应用给定函数的结果,返回更新的值。
|
boolean |
weakCompareAndSet(int i, int expect, int update)
如果当前值
==为预期值,则
i地将位置
i处的元素设置为给定的更新值。
|
public AtomicIntegerArray(int length)
length - 数组的长度
public AtomicIntegerArray(int[] array)
array -
array复制元素的数组
NullPointerException - 如果数组为空
public final int length()
public final int get(int i)
i的当前值。
i - 指数
public final void set(int i,
int newValue)
i的元素设置为给定值。
i - 指数
newValue - 新价值
public final void lazySet(int i,
int newValue)
i的元素设置为给定值。
i - 指数
newValue - 新价值
public final int getAndSet(int i,
int newValue)
i的元素原子设置为给定值并返回旧值。
i - 指数
newValue - 新的价值
public final boolean compareAndSet(int i,
int expect,
int update)
==为预期值,则
i地将位置
i处的元素设置为给定的更新值。
i - 指数
expect - 期望值
update - 新的价值
true如果成功。
False return表示实际值不等于预期值。
public final boolean weakCompareAndSet(int i,
int expect,
int update)
==为预期值,则i地将位置i处的元素设置为给定的更新值。
May fail spuriously and does not provide ordering guarantees ,所以只是很少适合替代compareAndSet 。
i - 指数
expect - 预期值
update - 新价值
true如果成功
public final int getAndIncrement(int i)
i原子方式递增一个元素。
i - 索引
public final int getAndDecrement(int i)
i的元素原子
i 。
i - 指数
public final int getAndAdd(int i,
int delta)
i的给定值原子地添加到元素。
i - 指数
delta - 要添加的值
public final int incrementAndGet(int i)
i处的元素按
i 。
i - 指数
public final int decrementAndGet(int i)
i的元素原子
i 。
i - 指数
public final int addAndGet(int i,
int delta)
i的给定值原子地添加到元素。
i - 指数
delta - 要添加的值
public final int getAndUpdate(int i,
IntUnaryOperator updateFunction)
i原子更新元素,并使用给定函数的结果返回上一个值。
该功能应该是无副作用的,因为尝试的更新由于线程之间的争用而失败时可能会被重新应用。
i - 指数
updateFunction - 无副作用的功能
public final int updateAndGet(int i,
IntUnaryOperator updateFunction)
i原子更新应用给定函数的结果,返回更新后的值。
该功能应该是无副作用的,因为尝试的更新由于线程之间的争用而失败时可能会被重新应用。
i - 指数
updateFunction - 无副作用的功能
public final int getAndAccumulate(int i,
int x,
IntBinaryOperator accumulatorFunction)
i原子更新元素,并将给定函数应用于当前值和给定值,返回上一个值。
该功能应该是无副作用的,因为尝试的更新由于线程之间的争用而失败时可能会被重新应用。
该函数以索引i作为其第一个参数的当前值应用,给定的更新作为第二个参数。
i - 指数
x - 更新值
accumulatorFunction - 两个参数的无效副作用
public final int accumulateAndGet(int i,
int x,
IntBinaryOperator accumulatorFunction)
i原子更新元素,并将给定函数应用于当前值和给定值,返回更新后的值。
该功能应该是无副作用的,因为尝试的更新由于线程之间的争用而失败时可能会被重新应用。
该函数应用索引i作为其第一个参数的当前值,给定的更新作为第二个参数。
i - 索引
x - 更新值
accumulatorFunction - 两个参数的无效副作用
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.