共用方式為


AtomicReference.GetAndAccumulate(Object, IBinaryOperator) 方法

定義

以不可部分完成的方式更新 (以 指定的 VarHandle#compareAndSet記憶體效果)目前值,並將指定的函式套用至目前和指定值的結果,並傳回先前的值。

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

參數

x
Object

更新值

accumulatorFunction
IBinaryOperator

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

傳回

上一個值

屬性

備註

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

已在1.8中新增。

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

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

適用於