共用方式為


AtomicReferenceFieldUpdater.UpdateAndGet(Object, IUnaryOperator) 方法

定義

以不可部分完成的方式更新 (使用 指定的 VarHandle#compareAndSet記憶體效果)這個更新程式所管理之指定物件的欄位,並套用指定函式的結果,並傳回更新的值。

[Android.Runtime.Register("updateAndGet", "(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;", "", ApiSince=24)]
public Java.Lang.Object? UpdateAndGet(Java.Lang.Object? obj, Java.Util.Functions.IUnaryOperator? updateFunction);
[<Android.Runtime.Register("updateAndGet", "(Ljava/lang/Object;Ljava/util/function/UnaryOperator;)Ljava/lang/Object;", "", ApiSince=24)>]
member this.UpdateAndGet : Java.Lang.Object * Java.Util.Functions.IUnaryOperator -> Java.Lang.Object

參數

obj
Object

要取得和設定其欄位的物件

updateFunction
IUnaryOperator

無副作用函式

傳回

更新的值

屬性

備註

以不可部分完成的方式更新 (使用 指定的 VarHandle#compareAndSet記憶體效果)這個更新程式所管理之指定物件的欄位,並套用指定函式的結果,並傳回更新的值。 函式應該是無副作用的,因為嘗試更新失敗時可能會因為線程之間的爭用而重新套用。

已在1.8中新增。

java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet(T, java.util.function.UnaryOperator<V>)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於