|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.util.concurrent.atomic.AtomicLongFieldUpdater<T>
T - 更新可能なフィールドを保持するオブジェクトの型public abstract class AtomicLongFieldUpdater<T>
指定されたクラスの指定された volatile long フィールドの原子更新が可能な、リフレクションベースのユーティリティです。このクラスは、同一ノードの複数フィールドが独立して原子更新の対象になる原子データ構造で使用する目的で設計されています。
このクラス内の compareAndSet メソッドの保証は、他の原子クラス内のそれよりも弱いことに留意してください。このクラスは、フィールドの使用すべてが原子アクセスに適していることを保証できないため、compareAndSet および set の他の呼び出しに関してのみ原子性および揮発性セマンティクスを保証できます。
| コンストラクタの概要 | |
|---|---|
protected |
AtomicLongFieldUpdater()
サブクラスにより使用される、何も行わない protected コンストラクタ。 |
| メソッドの概要 | ||
|---|---|---|
long |
addAndGet(T obj,
long delta)
現在の値に指定された値を、原子的に追加します。 |
|
abstract boolean |
compareAndSet(T obj,
long expect,
long update)
「現在の値 == 予想される値」である場合、この Updater が管理する、指定されたオブジェクトのフィールド値を原子的に設定します。 |
|
long |
decrementAndGet(T obj)
現在の値を 1 だけ原子的に減分します。 |
|
abstract long |
get(T obj)
指定されたオブジェクトが保持する、フィールド内の現在値を取得します。 |
|
long |
getAndAdd(T obj,
long delta)
現在の値に指定された値を、原子的に追加します。 |
|
long |
getAndDecrement(T obj)
現在の値を 1 だけ原子的に減分します。 |
|
long |
getAndIncrement(T obj)
現在の値を 1 だけ原子的に増分します。 |
|
long |
getAndSet(T obj,
long newValue)
指定された値に設定して、以前の値を返します。 |
|
long |
incrementAndGet(T obj)
現在の値を 1 だけ原子的に増分します。 |
|
static
|
newUpdater(Class<U> tclass,
String fieldName)
指定されたフィールドを持つオブジェクトのアップデータを作成します。 |
|
abstract void |
set(T obj,
long newValue)
このアップデータにより管理される、指定されたオブジェクトのフィールドを設定します。 |
|
abstract boolean |
weakCompareAndSet(T obj,
long expect,
long update)
「現在の値 == 予想される値」である場合、この Updater が管理する、指定されたオブジェクトのフィールド値を原子的に設定します。 |
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
protected AtomicLongFieldUpdater()
| メソッドの詳細 |
|---|
public static <U> AtomicLongFieldUpdater<U> newUpdater(Class<U> tclass,
String fieldName)
tclass - フィールドを保持するオブジェクトのクラスfieldName - 更新するフィールドの名前
IllegalArgumentException - フィールドが揮発性の long 型ではない場合
RuntimeException - クラスにフィールドが含まれないか、型が不正な場合に、入れ子にされたリフレクションベースの例外がスローされる
public abstract boolean compareAndSet(T obj,
long expect,
long update)
obj - 条件付きでフィールドを設定するオブジェクトexpect - 予想される値update - 新しい値
ClassCastException - obj がコンストラクタ内で確立されたフィールドを処理するクラスのインスタンスではない場合
public abstract boolean weakCompareAndSet(T obj,
long expect,
long update)
obj - 条件付きでフィールドを設定するオブジェクトexpect - 予想される値update - 新しい値
ClassCastException - obj がコンストラクタ内で確立されたフィールドを処理するクラスのインスタンスではない場合
public abstract void set(T obj,
long newValue)
obj - フィールドを設定するオブジェクトnewValue - 新しい値public abstract long get(T obj)
obj - フィールドを取得するオブジェクト
public long getAndSet(T obj,
long newValue)
obj - フィールドを取得および設定するオブジェクトnewValue - 新しい値
public long getAndIncrement(T obj)
obj - フィールドを取得および設定するオブジェクト
public long getAndDecrement(T obj)
obj - フィールドを取得および設定するオブジェクト
public long getAndAdd(T obj,
long delta)
obj - フィールドを取得および設定するオブジェクトdelta - 追加する値
public long incrementAndGet(T obj)
obj - フィールドを取得および設定するオブジェクト
public long decrementAndGet(T obj)
obj - フィールドを取得および設定するオブジェクト
public long addAndGet(T obj,
long delta)
obj - フィールドを取得および設定するオブジェクトdelta - 追加する値
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。