Language

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

定義

変数の現在の値が、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) を呼び出した結果であるアクセス モードの種類と一致する必要があります。

Javaリファレンス。

適用対象