The Java.AtomicLong.accumulateAndGet() method is an inbuilt method, which updates the current value of the object by applying the specified operation on the current value and value passed as a parameter. It takes a long as its parameter and an object of LongBinaryOperator interface and applies the operation specified in the object to the values. It returns the updated value.
Syntax:
public final long accumulateAndGet(long y, LongBinaryOperator function)
Parameters: This method accepts as parameter a long value y and an LongBinaryOperator function. It applies the given function to the current value of the object and the value y.
Return Value: The function returns the updated value of the current object.
Example to demonstrate the function.
// Java program to demonstrate // AtomicLong accumulateAndGet() method import java.util.concurrent.atomic.AtomicLong;
import java.util.function.LongBinaryOperator;
public class Demo {
public static void main(String[] args)
{
// AtomicLong initialized with a value of 555
AtomicLong atomicLong = new AtomicLong( 555 );
// Binary operator defined
// to calculate the product
LongBinaryOperator binaryOperator
= (x, y) -> x * y;
System.out.println( "Initial Value is "
+ atomicLong);
// Function called and the binary operator
// is passed as an argument
long value
= atomicLong
.accumulateAndGet( 555 , binaryOperator);
System.out.println( "Updated value is "
+ value);
}
} |
Initial Value is 555 Updated value is 308025
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html