VarHandle.CompareAndExchange(Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
若變數目前值(稱為見證值)=the expectedValue,且以 getVolatile(java.lang.Object...) 的記憶體語意,則原子式地將變數值設為 newValue,並以 setVolatile(java.lang.Object...) 的記憶體語意存取。
[Android.Runtime.Register("compareAndExchange", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)]
public Java.Lang.Object? CompareAndExchange(params Java.Lang.Object[]? args);
[<Android.Runtime.Register("compareAndExchange", "([Ljava/lang/Object;)Ljava/lang/Object;", "", ApiSince=33)>]
member this.CompareAndExchange : Java.Lang.Object[] -> Java.Lang.Object
參數
- args
- Object[]
簽名多態參數列表的形式為 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue,靜態使用 varargs 表示。
傳回
簽名多態結果為見證值,若成功則與預期值相同,靜態使用 Object 表示。
- 屬性
備註
若變數目前值(稱為見證值)=the expectedValue,且以 getVolatile(java.lang.Object...) 的記憶體語意,則原子式地將變數值設為 newValue,並以 setVolatile(java.lang.Object...) 的記憶體語意存取。方法簽名的形式為 (CT1 ct1,..., CTn ctn、T expectedValue、T newValue)T。 computeAndExchange 呼叫站點的符號型別描述符必須與呼叫 accessModeType(VarHandle.AccessMode.COMPARE_AND_EXCHANGE) 後所產生的存取模式類型相符。
Java 參考 java.lang.invoke.VarHandle.compareAndExchange。