El método getAndSet() de una clase AtomicReferenceArray se utiliza para establecer atómicamente el valor del índice i del objeto AtomicReferenceArray en newValue, que se pasa como parámetro y devuelve el valor anterior del objeto AtomicReferenceArray, con efectos de memoria según lo especificado por VarHandle.getAndSet(java .lang.Object…).VarHandle.getAndSet(java.lang.Object…) especificó que la variable se maneja como semántica de configuración de memoria como si la variable se declarara volátil.
Sintaxis:
public final E getAndSet(int i, E newValue)
Parámetros: Este método acepta:
- i que es un índice de AtomicReferenceArray para realizar la operación,
- newValue que es el nuevo valor a establecer.
Valor de retorno: este método devuelve el valor anterior del índice i.
Los siguientes programas ilustran el método getAndSet():
Programa 1:
Java
// Java program to demonstrate // AtomicReferenceArray.getAndSet() method import java.util.concurrent.atomic.*; public class GFG { public static void main(String[] args) { // create an atomic reference object. AtomicReferenceArray<Integer> ref = new AtomicReferenceArray<Integer>(3); // set some value ref.set(0, 1234); ref.set(1, 4322); // apply getAndSet() int oldV1 = ref.getAndSet(0, 8913); int oldV2 = ref.getAndSet(1, 6543); // print System.out.println("Old value at index 0: " + oldV1); System.out.println("New value at index 0: " + ref.get(0)); System.out.println("Old value at index 1: " + oldV2); System.out.println("New value at index 1: " + ref.get(1)); } }
Old value at index 0: 1234 New value at index 0: 8913 Old value at index 1: 4322 New value at index 1: 6543
Programa 2:
Java
// Java program to demonstrate // AtomicReferenceArray.getAndSet() method import java.util.concurrent.atomic.*; public class GFG { public static void main(String[] args) { // create an atomic reference object. AtomicReferenceArray<String> ref = new AtomicReferenceArray<String>(3); // set some value ref.set(0, "GFG"); ref.set(1, "JS"); // apply getAndSet() String oldV1 = ref.getAndSet(0, "GEEKS FOR GEEKS"); String oldV2 = ref.getAndSet(1, "JAVA SCRIPT"); // print System.out.println( "Old value at index 0: " + oldV1); System.out.println( "New value at index 0: " + ref.get(0)); System.out.println( "Old value at index 1: " + oldV2); System.out.println( "New value at index 1: " + ref.get(1)); } }
Old value at index 0: GFG New value at index 0: GEEKS FOR GEEKS Old value at index 1: JS New value at index 1: JAVA SCRIPT
Referencias: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReferenceArray.html#getAndSet(int, E)
Publicación traducida automáticamente
Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA