共用方式為


AtomicLongFieldUpdater.GetAndUpdate(Object, ILongUnaryOperator) 方法

定義

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

[Android.Runtime.Register("getAndUpdate", "(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J", "", ApiSince=24)]
public long GetAndUpdate (Java.Lang.Object? obj, Java.Util.Functions.ILongUnaryOperator? updateFunction);
[<Android.Runtime.Register("getAndUpdate", "(Ljava/lang/Object;Ljava/util/function/LongUnaryOperator;)J", "", ApiSince=24)>]
member this.GetAndUpdate : Java.Lang.Object * Java.Util.Functions.ILongUnaryOperator -> int64

參數

obj
Object

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

updateFunction
ILongUnaryOperator

無副作用函式

傳回

上一個值

屬性

備註

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

已在1.8中新增。

java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate(T, java.util.function.LongUnaryOperator)Java 檔。

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

適用於