AtomicReferenceFieldUpdater.AccumulateAndGet 方法

定义

以原子方式更新(由指定内存效果)由此更新程序管理的 VarHandle#compareAndSet给定对象的字段,并将给定函数应用于当前值和给定值的结果,并返回更新的值。

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

参数

obj
Object

要获取和设置其字段的对象

x
Object

更新值

accumulatorFunction
IBinaryOperator

两个参数的无副作用函数

返回

更新的值

属性

注解

以原子方式更新(由指定内存效果)由此更新程序管理的 VarHandle#compareAndSet给定对象的字段,并将给定函数应用于当前值和给定值的结果,并返回更新的值。 该函数应无副作用,因为当尝试更新因线程之间的争用而失败时,可能会重新应用该函数。 该函数应用当前值作为第一个参数,将给定更新作为第二个参数。

已在 1.8 中添加。

Java文档java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet(T, V, java.util.function.BinaryOperator<V>)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于