語言

VarHandle.WeakCompareAndSetPlain(Object[]) 方法

定義

如果變數目前的值(稱為見證值)== 預期值,且以 get(java.lang.Object......) 的記憶體語意存取,則可能原子性地將變數值設為 newValue,語意為 set(java.lang.Object...)。

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

參數

args
Object[]

簽名多態參數列表的形式為 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue,靜態使用 varargs 表示。

傳回

若成功則為 true;若見證值與預期值不相同,或此操作錯誤失敗,則為 false。

屬性

備註

如果變數目前的值(稱為見證值)== 預期值,且以 get(java.lang.Object......) 的記憶體語意存取,則可能原子性地將變數值設為 newValue,語意為 set(java.lang.Object...)。即使見證值與預期值相符,此操作仍可能因記憶體爭用而無故失敗。 方法簽名的形式為 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue,布林值。 weakCompareAndSetPlain 呼叫站點的符號型別描述符必須與呼叫 accessModeType(VarHandle.AccessMode.WEAK_COMPARE_AND_SET_PLAIN) 後所產生的存取模式類型相符。

Java 參考 java.lang.invoke.VarHandle.weakCompareAndSetPlain。

適用於