Método AtomicReferenceArray updateAndGet() en Java con ejemplos

El método updateAndGet() de una clase AtomicReferenceArray se usa para actualizaciones atómicas que actualizan el valor actual de AtomicReferenceArray 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 anterior.
Sintaxis: 
 

public final V updateAndGet(
  UnaryOperator<V> updateFunction)

Parámetros: Este método acepta: 
 

  • index i para actualizar el valor del índice y
  • updateFunction, que es una función sin efectos secundarios.

Valor devuelto: este método devuelve el valor anterior.
Los siguientes programas ilustran el método updateAndGet(): 
Programa 1: 
 

Java

// Java program to demonstrate
// AtomicReferenceArray.updateAndGet() method
 
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        // an array
        String a[]
            = { "GFG", "JS", "PYTHON", "JAVA" };
 
        // AtomicReferenceArray with array
        AtomicReferenceArray<String> array
            = new AtomicReferenceArray<>(a);
 
        // Print AtomicReferenceArray
        System.out.println(
            "The AtomicReferenceArray before update : "
            + array);
 
        // Index
        int index = 2;
 
        // Declaring the accumulatorFunction
        // applying function
        UnaryOperator add
            = (u) -> u.toString() + " and ML";
 
        // apply updateAndGet()
        String value
            = array.updateAndGet(index, add);
 
        // print AtomicReferenceArray
        System.out.println("updated value of index 2:"
                           + value);
        System.out.println(
            "The AtomicReferenceArray after update: "
            + array);
    }
}
Producción: 

 

Programa 2: 
 

Java

// Java program to demonstrate
// AtomicReferenceArray.updateAndGet() method
 
import java.util.concurrent.atomic.*;
import java.util.function.UnaryOperator;
 
public class GFG {
    public static void main(String args[])
    {
        // an array
        Integer a[]
            = { 213, 1234, 4543, 345 };
 
        // AtomicReferenceArray with array
        AtomicReferenceArray<Integer> array
            = new AtomicReferenceArray(a);
 
        // Print AtomicReferenceArray
        System.out.println(
            "The AtomicReferenceArray before update : "
            + array);
 
        // Index
        int index = 2;
 
        // Declaring the accumulatorFunction
        // applying function
        UnaryOperator add
            = (u) -> Integer.parseInt(u.toString()) * 500;
 
        // apply updateAndGet()
        int value
            = array.updateAndGet(index, add);
 
        // print AtomicReferenceArray
        System.out.println("updated value of index 2:"
                           + value);
        System.out.println(
            "The AtomicReferenceArray after update: "
            + array);
    }
}
Producción: 

 

Referencias: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReferenceArray.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 *