Método AtomicLong getAndSet() en Java con ejemplos

Java.util.concurrent.atomic.AtomicLong.getAndSet () es un método incorporado en Java que establece el valor dado en el valor pasado en el parámetro y devuelve el valor antes de la actualización, que es de tipo de datos long .

Sintaxis:

public final long getAndSet(long val)

Parámetros: la función acepta un solo parámetro obligatorio val que especifica el valor que se actualizará.

Valor devuelto: la función devuelve el valor antes de que se realice la operación de actualización al valor anterior.

Los siguientes programas ilustran el método anterior:

Programa 1:

// Java program that demonstrates
// the getAndSet() function
  
import java.util.concurrent.atomic.AtomicLong;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Initially value as 0
        AtomicLong val = new AtomicLong(0);
  
        // Updates and sets
        long res
            = val.getAndSet(10);
  
        System.out.println("Previous value: "
                           + res);
  
        // Prints the updated value
        System.out.println("Current value: "
                           + val);
    }
}
Producción:

Previous value: 0
Current value: 10

Programa 2:

// Java program that demonstrates
// the getAndSet() function
  
import java.util.concurrent.atomic.AtomicLong;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Initially value as 18
        AtomicLong val = new AtomicLong(18);
  
        // Gets and updates
        long res = val.getAndSet(12);
  
        System.out.println("Previous value: "
                           + res);
        // Prints the updated value
        System.out.println("Current value: "
                           + val);
    }
}
Producción:

Previous value: 18
Current value: 12

Referencia: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html#getAndSet–

Publicación traducida automáticamente

Artículo escrito por gopaldave 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 *