The getOpaque() method of a AtomicReferenceArray class is used to return the value of the element at index i for this AtomicReferenceArray object with memory effects as specified by VarHandle.getOpaque(java.lang.Object…). This VarHandle.getOpaque(java.lang.Object…) method handles operation with no assurance of memory ordering effects with respect to other threads.
Syntax:
public final E getOpaque(int i)
Parameters: This method accepts the index i to get the value.
Return value: This method returns the current value at index i.
Below programs illustrate the getOpaque() method:
Program 1:
// Java program to demonstrate // AtomicReferenceArray.getOpaque() method import java.util.concurrent.atomic.*; public class GFG { public static void main(String[] args) { // create an atomic reference array // object which stores Integer. AtomicReferenceArray<Integer> array = new AtomicReferenceArray<Integer>( 5 ); // set some value in array array.set( 0 , 987 ); array.set( 1 , 988 ); array.set( 2 , 989 ); array.set( 3 , 986 ); // get and print the value // using getOpaque method for ( int i = 0 ; i < 4 ; i++) { int value = array.getOpaque(i); System.out.println( "value at " + i + " = " + value); } } } |
Program 2:
// Java program to demonstrate // AtomicReferenceArray.getOpaque() method import java.util.concurrent.atomic.*; public class GFG { public static void main(String[] args) { // create a array of Strings String[] names = { "AMAN" , "AMAR" , "SURAJ" }; // create an atomic reference object. AtomicReferenceArray<String> array = new AtomicReferenceArray<String>(names); // get and print the value // using getOpaque method for ( int i = 0 ; i < array.length(); i++) { String value = array.getOpaque(i); System.out.println( "value at " + i + " = " + value); } } } |