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

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

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

java.util.concurrent.atomic.AtomicReferenceFieldUpdaterJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

コンストラクター

AtomicReferenceFieldUpdater()

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

AtomicReferenceFieldUpdater(IntPtr, JniHandleOwnership)

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

プロパティ

Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniPeerMembers

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

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

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 参照フィールドに対するアトミック更新を可能にするリフレクション ベースのユーティリティ。

適用対象