Language

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

定義

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

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

パラメーター

args
Object[]

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

返品

成功した場合は true、ミラーリング監視値が expectedValue と同じでない場合は false。

属性

注釈

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

Javaリファレンス。

適用対象