共用方式為


AtomicReferenceFieldUpdater.GetAndAccumulate 方法

定義

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

[Android.Runtime.Register("getAndAccumulate", "(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;", "", ApiSince=24)]
public Java.Lang.Object? GetAndAccumulate(Java.Lang.Object? obj, Java.Lang.Object? x, Java.Util.Functions.IBinaryOperator? accumulatorFunction);
[<Android.Runtime.Register("getAndAccumulate", "(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;", "", ApiSince=24)>]
member this.GetAndAccumulate : Java.Lang.Object * Java.Lang.Object * Java.Util.Functions.IBinaryOperator -> Java.Lang.Object

參數

obj
Object

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

x
Object

更新值

accumulatorFunction
IBinaryOperator

兩個自變數的無副作用函式

傳回

上一個值

屬性

備註

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

已在1.8中新增。

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

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

適用於