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