Open In App

AtomicInteger addAndGet() method in Java with examples

Improve
Improve
Like Article
Like
Save
Share
Report

The java.util.concurrent.atomic.AtomicInteger.addandget() is an inbuilt method in java which adds the value which is passed in the parameter of the function to the previous value and returns the new updated value which is of data-type int. Syntax:

public final int addAndGet(int val)

Parameters: The function accepts a single mandatory parameter val which specifies the value to be added. Return value: The function returns the integer value after addition is done. Program below demonstrates the function: Program 1: 

Java




// Java Program to demonstrates
// the addandget() function
 
import java.util.concurrent.atomic.AtomicInteger;
 
public class GFG {
    public static void main(String args[])
    {
 
        // Initially value as 0
        AtomicInteger val
            = new AtomicInteger();
 
        // Update the value
        int c = val.addAndGet(6);
 
        // Prints the updated value
        System.out.println("Updated value: "
                           + c);
    }
}


Output:

Updated value: 6

Program 2: 

Java




// Java Program to demonstrates
// the addandget() function
 
import java.util.concurrent.atomic.AtomicInteger;
public class GFG {
    public static void main(String args[])
    {
 
        // Initially value as 18
        AtomicInteger val
            = new AtomicInteger(18);
 
        // Prints the updated value
        System.out.println("Previous value: "
                           + val);
 
        // adds the value to 18
        val.addAndGet(6);
 
        // Prints the updated value
        System.out.println("Updated value: "
                           + val);
    }
}


Output:

Previous value: 18
Updated value: 24

Program 3:

Java




/*package whatever //do not write package name here */
 
import java.io.*;
import java.util.concurrent.atomic.AtomicInteger;
 
class GFG {
    public static void main(String[] args) throws InterruptedException
    {
        AtomicInteger count = new AtomicInteger(0);
 
        Thread thread1 = new Thread(() -> {
            for (int i = 0; i < 1000; i++) {
                count.incrementAndGet();
            }
        });
 
        Thread thread2 = new Thread(() -> {
            for (int i = 0; i < 1000; i++) {
                count.incrementAndGet();
            }
        });
 
        thread1.start();
        thread2.start();
 
        thread1.join();
        thread2.join();
 
        System.out.println("Final count: " + count.get());
    }
}


Output

Final count: 2000

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



Last Updated : 27 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads