El método Java.AtomicInteger.getAndAccumulate() es un método incorporado que actualiza el valor actual del objeto aplicando la operación especificada en el valor actual y el valor pasado como parámetro. Toma un entero como su parámetro y un objeto de la interfaz IntBinaryOperator y aplica la operación especificada en el objeto a los valores. Devuelve el valor anterior.
Sintaxis:
public final int getAndAccumulate(int y, IntBinaryOperator function)
Parámetros: Este método acepta dos parámetros:
- y : un número entero sobre el que se va a aplicar la función.
- función: función aplicada al valor actual del objeto y al valor y.
Valor devuelto: la función devuelve el valor anterior del objeto actual.
Ejemplo para demostrar la función.
// 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); } } }
Thread A 1 Thread A 5 Thread A 25 Thread B 125 Thread B 625 Thread B 3125
Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicInteger.html
Publicación traducida automáticamente
Artículo escrito por CharchitKapoor y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA