VarHandle.CompareAndSet(Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
若變數目前值(稱為見證值)=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。