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