public class AtomicIntegerArray extends Object implements Serializable
int
配列です。原子変数のプロパティの詳細は、java.util.concurrent.atomic
パッケージ仕様を参照してください。コンストラクタと説明 |
---|
AtomicIntegerArray(int length)
指定された長さの新しいAtomicIntegerArrayを作成し、すべての要素はゼロに初期化されます。
|
AtomicIntegerArray(int[] array)
指定された配列と同じ長さのAtomicIntegerArrayを新しく作成します。すべての要素は、指定された配列からコピーされます。
|
修飾子と型 | メソッドと説明 |
---|---|
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 の要素を指定された更新済みの値に原子的に設定します。 |
int |
decrementAndGet(int i)
インデックス
i の要素を1だけ原子的に減分します。 |
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 の要素を1だけ原子的に減分します。 |
int |
getAndIncrement(int i)
インデックス
i の要素を1だけ原子的に増分します。 |
int |
getAndSet(int i, int newValue)
位置
i の要素を指定された値に原子的に設定して、以前の値を返します。 |
int |
getAndUpdate(int i, IntUnaryOperator updateFunction)
インデックス
i にある要素を、指定された関数を適用した結果で原子的に更新し、前の値を返します。 |
int |
incrementAndGet(int i)
インデックス
i の要素を1だけ原子的に増分します。 |
void |
lazySet(int i, int newValue)
位置
i の要素を指定された値に最終的に設定します。 |
int |
length()
配列の長さを返します。
|
void |
set(int i, int newValue)
位置
i の要素を指定された値に設定します。 |
String |
toString()
配列の現在値の文字列表現を返します。
|
int |
updateAndGet(int i, IntUnaryOperator updateFunction)
インデックス
i にある要素を、指定された関数を適用した結果で原子的に更新し、更新された値を返します。 |
boolean |
weakCompareAndSet(int i, int expect, int update)
「現在の値
== 予想される値」である場合、位置i の要素を指定された更新済みの値に原子的に設定します。 |
public AtomicIntegerArray(int length)
length
- 配列の長さpublic AtomicIntegerArray(int[] array)
array
- 要素のコピー元の配列NullPointerException
- 配列がnullの場合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
- インデックスexpect
- 予想される値update
- 新しい値true
。falseは、実際の値が予想される値と等価ではないことを示す。public final boolean weakCompareAndSet(int i, int expect, int update)
==
予想される値」である場合、位置i
の要素を指定された更新済みの値に原子的に設定します。
見かけ上失敗する可能性があり、順序付け保証を提供しないため、compareAndSet
の代わりに使用することはほとんどありません。
i
- インデックスexpect
- 予想される値update
- 新しい値true
public final int getAndIncrement(int i)
i
の要素を1だけ原子的に増分します。i
- インデックスpublic final int getAndDecrement(int i)
i
の要素を1だけ原子的に減分します。i
- インデックスpublic final int getAndAdd(int i, int delta)
i
の要素に原子的に追加します。i
- インデックスdelta
- 追加する値public final int incrementAndGet(int i)
i
の要素を1だけ原子的に増分します。i
- インデックスpublic final int decrementAndGet(int i)
i
の要素を1だけ原子的に減分します。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
にある現在の値を第1引数とし、指定された更新値を第2引数として適用されます。i
- インデックスx
- 更新値accumulatorFunction
- 2つの引数を取る、副作用のない関数public final int accumulateAndGet(int i, int x, IntBinaryOperator accumulatorFunction)
i
にある要素を、指定された関数を現在の値と指定された値に適用した結果で原子的に更新し、更新された値を返します。関数は、試行した更新がスレッド間の競合のため失敗したときに再度適用される可能性があるため、副作用を持つべきではありません。関数は、インデックスi
にある現在の値を第1引数とし、指定された更新値を第2引数として適用されます。i
- インデックスx
- 更新値accumulatorFunction
- 2つの引数を取る、副作用のない関数 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.