Share via


AtomicLongArray.GetAndAccumulate(Int32, Int64, ILongBinaryOperator) Method

Definition

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the element at index i with the results of applying the given function to the current and given values, returning the previous value.

[Android.Runtime.Register("getAndAccumulate", "(IJLjava/util/function/LongBinaryOperator;)J", "", ApiSince=24)]
public long GetAndAccumulate (int i, long x, Java.Util.Functions.ILongBinaryOperator? accumulatorFunction);
[<Android.Runtime.Register("getAndAccumulate", "(IJLjava/util/function/LongBinaryOperator;)J", "", ApiSince=24)>]
member this.GetAndAccumulate : int * int64 * Java.Util.Functions.ILongBinaryOperator -> int64

Parameters

i
Int32

the index

x
Int64

the update value

accumulatorFunction
ILongBinaryOperator

a side-effect-free function of two arguments

Returns

the previous value

Attributes

Remarks

Atomically updates (with memory effects as specified by VarHandle#compareAndSet) the element at index i with the results of applying the given function to the current and given values, returning the previous value. The function should be side-effect-free, since it may be re-applied when attempted updates fail due to contention among threads. The function is applied with the current value of the element at index i as its first argument, and the given update as the second argument.

Added in 1.8.

Java documentation for java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate(int, long, java.util.function.LongBinaryOperator).

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Applies to