Sunday, November 17, 2024
Google search engine
HomeLanguagesJavaAtomicInteger accumulateAndGet() method in Java with Examples

AtomicInteger accumulateAndGet() method in Java with Examples

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() 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(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);
        }
    }
}


Output: 

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
 

RELATED ARTICLES

Most Popular

Recent Comments