java.lang.Object
java.util.concurrent.atomic.AtomicStampedReference<V>
- 型パラメータ:
- V- この参照により参照されるオブジェクトの型
public class AtomicStampedReference<V> extends Object
AtomicStampedReferenceは、原子的に更新可能な整数「スタンプ」とともに、オブジェクト参照を管理します。
 実装にあたってのノート: この実装は、括弧で囲まれた[参照、整数]のペアを表す内部オブジェクトを作成することにより、スタンプされた参照を維持します。
- 導入されたバージョン:
- 1.5
- 
コンストラクタのサマリーコンストラクタコンストラクタ説明AtomicStampedReference(V initialRef, int initialStamp) 指定された初期値を使って、新しいAtomicStampedReferenceを作成します。
- 
メソッドのサマリー修飾子と型メソッド説明booleanattemptStamp(V expectedReference, int newStamp) 「現在の参照==予想される参照」である場合は、スタンプの値を指定された更新値に原子的に設定します。booleancompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp) 「現在の参照==予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。get(int[] stampHolder) 参照およびスタンプの現在値を返します。参照の現在値を返します。intgetStamp()スタンプの現在値を返します。void参照およびスタンプの値を無条件に設定します。booleanweakCompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp) 「現在の参照==予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。
- 
コンストラクタの詳細- 
AtomicStampedReferencepublic AtomicStampedReference(V initialRef, int initialStamp) 指定された初期値を使って、新しいAtomicStampedReferenceを作成します。- パラメータ:
- initialRef- 初期参照
- initialStamp- 初期スタンプ
 
 
- 
- 
メソッドの詳細- 
getReferencepublic V getReference()参照の現在値を返します。- 戻り値:
- 参照の現在値
 
- 
getStamppublic int getStamp()スタンプの現在値を返します。- 戻り値:
- スタンプの現在値
 
- 
getpublic V get(int[] stampHolder) 参照およびスタンプの現在値を返します。 通常の使用法はint[1] holder; ref = v.get(holder);です。- パラメータ:
- stampHolder- 1以上のサイズの配列。 戻り値の場合、- stampHolder[0]はスタンプの値を保持します。
- 戻り値:
- 参照の現在値
 
- 
weakCompareAndSetpublic boolean weakCompareAndSet(V expectedReference, V newReference, int expectedStamp, int newStamp) 「現在の参照==予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。 この操作は誤って失敗する可能性があり、順序付けの保証は提供されないため、compareAndSetのかわりに適したものになることはほとんどありません。- パラメータ:
- expectedReference- 参照の予想される値
- newReference- 参照の新しい値
- expectedStamp- スタンプの予想される値
- newStamp- スタンプの新しい値
- 戻り値:
- 成功した場合はtrue
 
- 
compareAndSet「現在の参照==予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。- パラメータ:
- expectedReference- 参照の予想される値
- newReference- 参照の新しい値
- expectedStamp- スタンプの予想される値
- newStamp- スタンプの新しい値
- 戻り値:
- 成功した場合はtrue
 
- 
setpublic void set(V newReference, int newStamp) 参照およびスタンプの値を無条件に設定します。- パラメータ:
- newReference- 参照の新しい値
- newStamp- スタンプの新しい値
 
- 
attemptStamppublic boolean attemptStamp(V expectedReference, int newStamp) 「現在の参照==予想される参照」である場合は、スタンプの値を指定された更新値に原子的に設定します。 この操作の指定された呼出しはすべて、見かけ上失敗する(falseを返す)可能性があります。ただし、現在の値が予想される値を保持し、値の設定を試みるほかのスレッドが存在しない場合は、呼出しが繰り返されることで最終的に成功します。- パラメータ:
- expectedReference- 参照の予想される値
- newStamp- スタンプの新しい値
- 戻り値:
- 成功した場合はtrue
 
 
-