VarHandle.WeakCompareAndSet(Object[]) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
変数の現在の値が、getVolatile(java.lang.Object...) のメモリ セマンティクスでアクセスされる場合、変数の現在の値 (ミラーリング監視値 == the expectedValue) と呼ばれる場合、変数の値を setVolatile(java.lang.Object...) のメモリ セマンティクスを使用して newValue にアトミックに設定する可能性があります。
[Android.Runtime.Register("weakCompareAndSet", "([Ljava/lang/Object;)Z", "", ApiSince=33)]
public bool WeakCompareAndSet(params Java.Lang.Object[]? args);
[<Android.Runtime.Register("weakCompareAndSet", "([Ljava/lang/Object;)Z", "", ApiSince=33)>]
member this.WeakCompareAndSet : Java.Lang.Object[] -> bool
パラメーター
- args
- Object[]
形式 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue) のシグネチャポリモーフィック パラメーター リスト。varargs を使用して静的に表されます。
返品
成功した場合は true。それ以外の場合、ミラーリング監視値が expectedValue と同じでない場合、またはこの操作が誤って失敗した場合は false。
- 属性
注釈
変数の現在の値が、getVolatile(java.lang.Object...) のメモリ セマンティクスでアクセスされる場合、変数の現在の値 (ミラーリング監視値 == the expectedValue) と呼ばれる場合、変数の値を setVolatile(java.lang.Object...) のメモリ セマンティクスを使用して newValue にアトミックに設定する可能性があります。この操作は、ミラーリング監視値が予期した値と一致する場合でも、(通常はメモリの競合が原因で) スプリアスに失敗する可能性があります。 メソッド シグネチャの形式は (CT1 ct1,..., CTn ctn、T expectedValue、T newValue)boolean です。 weakCompareAndSet の呼び出しサイトのシンボリック型記述子は、この VarHandle で accessModeType(VarHandle.AccessMode.WEAK_COMPARE_AND_SET) を呼び出した結果であるアクセス モードの種類と一致する必要があります。