語言

VarHandle.CompareAndExchangeAcquire(Object[]) 方法

定義

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

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

參數

args
Object[]

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

傳回

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

屬性

備註

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

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

適用於