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
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
Feeling lost in the vast world of Backend Development? It's time for a change! Join our
Java Backend Development - Live Course and embark on an exciting journey to master backend development efficiently and on schedule.
What We Offer:
- Comprehensive Course
- Expert Guidance for Efficient Learning
- Hands-on Experience with Real-world Projects
- Proven Track Record with 100,000+ Successful Geeks
Last Updated :
04 Feb, 2021
Like Article
Save Article