語言

VarHandle.CompareAndSet(Object[]) 方法

定義

若變數目前值(稱為見證值)=the expectedValue,且以 getVolatile(java.lang.Object...) 的記憶體語意,則原子式地將變數值設為 newValue,並以 setVolatile(java.lang.Object...) 的記憶體語意存取。

[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 表示。

傳回

若成功則為真;若見證值與預期值不相同,則為假。

屬性

備註

若變數目前值(稱為見證值)=the expectedValue,且以 getVolatile(java.lang.Object...) 的記憶體語意,則原子式地將變數值設為 newValue,並以 setVolatile(java.lang.Object...) 的記憶體語意存取。方法簽名的形式為 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue,布林值。 computeAndSet 呼叫站點的符號型別描述符必須與呼叫 accessModeType(VarHandle.AccessMode.COMPARE_AND_SET) 後產生的存取模式類型相符。

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

適用於