Método AtomicReference updateAndGet() en Java con ejemplos

El método updateAndGet() de una clase AtomicReference se usa para actualizaciones atómicas que actualizan el valor actual de AtomicReference aplicando la operación updateFunction especificada en el valor actual. Toma un objeto de la interfaz updateFunction como su parámetro y aplica la operación especificada en el objeto al valor actual. Devuelve el valor actualizado.

Sintaxis:

public final V 
  updateAndGet(UnaryOperator<V> updateFunction)

Parámetros: este método acepta updateFunction, que es una función sin efectos secundarios.

Valor devuelto: este método devuelve el valor actualizado .

Los siguientes programas ilustran el método updateAndGet():
Programa 1:

// Java program to demonstrate
// AtomicReference.updateAndGet() method
  
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        // AtomicReference with value
        AtomicReference<Integer> ref
            = new AtomicReference<>(987654);
  
        // Declaring the updateFunction
        // applying function
        UnaryOperator function
            = (v) -> Integer.parseInt(v.toString()) * 2;
  
        // apply updateAndGet()
        int value = ref.updateAndGet(function);
  
        // print AtomicReference
        System.out.println(
            "The AtomicReference updated value: "
            + value);
    }
}
Producción:

Programa 2:

// Java program to demonstrate
// AtomicReference.updateAndGet() method
  
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
  
public class GFG {
    public static void main(String args[])
    {
  
        // AtomicReference with value
        AtomicReference<String> ref
            = new AtomicReference<>("welcome");
  
        // Declaring the updateFunction
        // applying function to add value as string
        UnaryOperator twoDigits
            = (v) -> v + " to gfg";
  
        // apply updateAndGet()
        String value
            = ref.updateAndGet(twoDigits);
  
        // print AtomicReference
        System.out.println(
            "The AtomicReference current value: "
            + value);
    }
}
Producción:

Referencias: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReference.html#updateAndGet(java.util.function.UnaryOperator)

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *