語言

VarHandle.CompareAndExchangeRelease(Object[]) 方法

定義

若變數目前值稱為見證值(witness value)=預期值,且以get(java.lang.Object...)的記憶體語意存取,則原子性地將變數值設為newValue,並使用setRelease(java.lang.Object...)的記憶體語意。

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

參數

args
Object[]

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

傳回

簽名多態結果為見證值,若成功則與預期值相同,靜態使用 Object 表示。

屬性

備註

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

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

適用於