Language

VarHandle.CompareAndExchange(Object[]) メソッド

定義

変数の現在の値 (ミラーリング監視値 == the expectedValue) が getVolatile(java.lang.Object...) のメモリ セマンティクスでアクセスされる場合、変数の値を setVolatile(java.lang.Object...) のメモリ セマンティクスを使用して newValue にアトミックに設定します。

[Android.Runtime.Register("compareAndExchange", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)]
public Java.Lang.Object? CompareAndExchange(params Java.Lang.Object[]? args);
[<Android.Runtime.Register("compareAndExchange", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)>]
member this.CompareAndExchange : Java.Lang.Object[] -> Java.Lang.Object

パラメーター

args
Object[]

形式 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue) のシグネチャポリモーフィック パラメーター リスト。varargs を使用して静的に表されます。

返品

ミラーリング監視値であるシグネチャポリモーフィックな結果。成功した場合は expectedValue と同じになり、Object を使用して静的に表されます。

属性

注釈

変数の現在の値 (ミラーリング監視値 == the expectedValue) が getVolatile(java.lang.Object...) のメモリ セマンティクスでアクセスされる場合、変数の値を setVolatile(java.lang.Object...) のメモリ セマンティクスを使用して newValue にアトミックに設定します。メソッド シグネチャの形式は (CT1 ct1,..., CTn ctn、T expectedValue、T newValue)T です。 compareAndExchange の呼び出しサイトのシンボリック型記述子は、この VarHandle で accessModeType(VarHandle.AccessMode.COMPARE_AND_EXCHANGE) を呼び出した結果であるアクセス モードの種類と一致する必要があります。

Javaリファレンス。

適用対象