Skip to content
Related Articles

Related Articles

Improve Article

AtomicInteger getAndAccumulate() method in Java with Examples

  • Last Updated : 03 Jun, 2019

The Java.AtomicInteger.getAndAccumulate() 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 previous value.

Syntax:

public final int getAndAccumulate(int y, 
                   IntBinaryOperator function)

Parameters: This method accepts two parameters:

  • y: an integer on which the function is to be applied.
  • function: function applied to the current value of the object and the value y.

Return Value: The function returns the previous value of the current object.

Example to demonstrate the function.






// Java program to demonstrate
// working of getAndAccumulate() method
  
import 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(1);
}
  
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
                      .getAndAccumulate(value, ibo);
  
            System.out.println(name + " "
                               + ans);
        }
    }
}
Output:
Thread A 1
Thread A 5
Thread A 25
Thread B 125
Thread B 625
Thread B 3125

Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :