The Java.AtomicInteger.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 an integer as its parameter and an object of IntBinaryOperator interface and applies the operation specified in the object to the values. It returns the updated value.
Syntax:
public final int accumulateAndGet(int y,
IntBinaryOperator function)
Parameters: This method accepts as parameter an integer value y and an IntBinaryOperator 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
// Java program to demonstrate// AtomicInteger accumulateAndGet() methodimport java.util.concurrent.atomic.AtomicInteger;import java.util.function.IntBinaryOperator;public class Demo { public static void main(String[] args) { new UserThread("Thread A"); new UserThread("Thread B"); }}class Shared { static AtomicInteger ai = new AtomicInteger(0);}class UserThread implements Runnable { String name; UserThread(String name) { this.name = name; new Thread(this).start(); } IntBinaryOperator ibo = (x, y) -> (x + y); int value = 5; @Override public void run() { for (int i = 0; i < 3; i++) { int ans = Shared.ai .accumulateAndGet(value, ibo); System.out.println(name + " " + ans); } }} |
Thread A 5 Thread A 10 Thread A 15 Thread B 20 Thread B 25 Thread B 30
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html

… [Trackback]
[…] Find More on to that Topic: geeksforgeeks.org/atomicinteger-accumulateandget-method-in-java-with-examples/ […]