次の方法で共有


AtomicReferenceFieldUpdater クラス

定義

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

[Android.Runtime.Register("java/util/concurrent/atomic/AtomicReferenceFieldUpdater", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T", "V" })]
public abstract class AtomicReferenceFieldUpdater : Java.Lang.Object
[<Android.Runtime.Register("java/util/concurrent/atomic/AtomicReferenceFieldUpdater", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T", "V" })>]
type AtomicReferenceFieldUpdater = class
    inherit Object
継承
AtomicReferenceFieldUpdater
属性

注釈

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。 このクラスは、同じノードのいくつかの参照フィールドがアトミック更新の対象となるアトミック データ構造で使用するように設計されています。 たとえば、ツリー ノードは次のように宣言できます。

{@code
            class Node {
              private volatile Node left, right;

              private static final AtomicReferenceFieldUpdater<Node, Node> leftUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "left");
              private static final AtomicReferenceFieldUpdater<Node, Node> rightUpdater =
                AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "right");

              Node getLeft() { return left; }
              boolean compareAndSetLeft(Node expect, Node update) {
                return leftUpdater.compareAndSet(this, expect, update);
              }
              // ... and so on
            }}

このクラスのメソッドの compareAndSet 保証は、他のアトミック クラスよりも弱い点に注意してください。 このクラスは、フィールドのすべての使用がアトミック アクセスの目的に適していることを保証できないため、同じアップデーターの他の compareAndSet 呼び出しに set 関してのみアトミック性を保証できます。

渡された#newUpdaterクラスのインスタンスではない型Tのパラメーターのオブジェクト引数はClassCastException、スローされます。

1\.5 で追加されました。

の Java ドキュメントjava.util.concurrent.atomic.AtomicReferenceFieldUpdater

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

AtomicReferenceFieldUpdater()

サブクラスで使用するための保護された do-nothing コンストラクター。

AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

Class

この Objectランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
JniPeerMembers

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

PeerReference

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

AccumulateAndGet(Object, Object, IBinaryOperator)

このアップデーターによって管理される特定のオブジェクトのフィールドを、現在の値と指定された値に適用し、更新された値を返した結果を使用して、アトミックに更新します (指定された VarHandle#compareAndSetメモリ効果を使用)。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
CompareAndSet(Object, Object, Object)

現在の値が期待値の場合、このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された更新された値 == にアトミックに設定します。

Dispose()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
Dispose(Boolean)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Get(Object)

このアップデーターによって管理されている特定のオブジェクトのフィールドに保持されている現在の値を返します。

GetAndAccumulate(Object, Object, IBinaryOperator)

このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された関数を現在の値と指定された値に適用し、前の値を返した結果でアトミックに更新します (指定された VarHandle#compareAndSetメモリ効果を使用)。

GetAndSet(Object, Object)

このアップデーターによって管理される特定のオブジェクトのフィールドを指定された値にアトミックに設定し、古い値を返します。

GetAndUpdate(Object, IUnaryOperator)

このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された関数を適用した結果を使用してアトミックに更新し(指定された VarHandle#compareAndSetメモリ効果を持つ)、前の値を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LazySet(Object, Object)

最終的に、このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された更新された値に設定します。

NewUpdater(Class, Class, String)

指定されたフィールドを持つオブジェクトのアップデーターを作成して返します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Set(Object, Object)

このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された更新された値に設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
ToArray<T>()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
ToString()

オブジェクトの文字列表現を返します。

(継承元 Object)
UnregisterFromRuntime()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
UpdateAndGet(Object, IUnaryOperator)

このアップデーターによって VarHandle#compareAndSet管理される特定のオブジェクトのフィールドを、指定された関数を適用した結果でアトミックに更新し(指定されたメモリ効果を持つ)、更新された値を返します。

Wait()

現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。

(継承元 Object)
Wait(Int64)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。

(継承元 Object)
WeakCompareAndSet(Object, Object, Object)

現在の値が期待値の場合、このアップデーターによって管理される特定のオブジェクトのフィールドを、指定された更新された値 == にアトミックに設定します。

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.Finalized()

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

GetJniTypeName(IJavaPeerable)

指定されたクラスの指定された volatile 参照フィールドへのアトミック更新を可能にするリフレクション ベースのユーティリティ。

適用対象