|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.concurrent.atomic.AtomicStampedReference<V>
V - この参照により参照されるオブジェクトの型public class AtomicStampedReference<V>
AtomicStampedReference は、原子的に更新可能な整数「スタンプ」とともに、オブジェクト参照を管理します。
実装上の注意。この実装は、括弧で囲まれた [参照、整数] のペアを表す内部オブジェクトを作成することにより、スタンプされた参照を維持します。
| コンストラクタの概要 | |
|---|---|
AtomicStampedReference(V initialRef,
int initialStamp)
指定された初期パラメータを使って、新しい AtomicStampedReference を作成します。 |
|
| メソッドの概要 | |
|---|---|
boolean |
attemptStamp(V expectedReference,
int newStamp)
「現在の参照 == 予想される参照」である場合は、スタンプの値を指定された更新値に原子的に設定します。 |
boolean |
compareAndSet(V expectedReference,
V newReference,
int expectedStamp,
int newStamp)
「現在の参照 == 予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。 |
V |
get(int[] stampHolder)
参照およびスタンプの現在値を返します。 |
V |
getReference()
参照の現在値を返します。 |
int |
getStamp()
スタンプの現在値を返します。 |
void |
set(V newReference,
int newStamp)
参照およびスタンプの値を無条件に設定します。 |
boolean |
weakCompareAndSet(V expectedReference,
V newReference,
int expectedStamp,
int newStamp)
「現在の参照 == 予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public AtomicStampedReference(V initialRef,
int initialStamp)
AtomicStampedReference を作成します。
initialRef - 初期参照initialStamp - 初期スタンプ| メソッドの詳細 |
|---|
public V getReference()
public int getStamp()
public V get(int[] stampHolder)
int[1] holder; ref = v.get(holder); です。
stampHolder - 1 以上のサイズの配列。返す際に、stampholder[0] はスタンプの値を保持する
public boolean weakCompareAndSet(V expectedReference,
V newReference,
int expectedStamp,
int newStamp)
== 予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。
見かけ上失敗する可能性があり、順序付け保証を提供しないため、compareAndSet の代わりに使用することはほとんどありません。
expectedReference - 参照の予想される値newReference - 参照の新しい値expectedStamp - スタンプの予想される値newStamp - スタンプの新しい値
public boolean compareAndSet(V expectedReference,
V newReference,
int expectedStamp,
int newStamp)
== 予想される参照」であり、現在のスタンプが予想されるスタンプに等しい場合、参照およびスタンプの値を指定された更新値に原子的に設定します。
expectedReference - 参照の予想される値newReference - 参照の新しい値expectedStamp - スタンプの予想される値newStamp - スタンプの新しい値
public void set(V newReference,
int newStamp)
newReference - 参照の新しい値newStamp - スタンプの新しい値
public boolean attemptStamp(V expectedReference,
int newStamp)
== 予想される参照」である場合は、スタンプの値を指定された更新値に原子的に設定します。この操作の指定された呼び出しはすべて、見かけ上失敗する (false を返す) 可能性があります。ただし、現在の値が予想される値を保持し、値の設定を試みるほかのスレッドが存在しない場合は、呼び出しが繰り返されることで最終的に成功します。
expectedReference - 参照の予想される値newStamp - スタンプの新しい値
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。