The setRelease() method of a AtomicReference class is used to set the value of this AtomicReference object with memory effects as specified by VarHandle.setRelease(java.lang.Object…). This method has memory ordering effects compatible with memory_order_release ordering.
Syntax:
public final void setRelease(V newValue)
Parameters: This method accepts newValue which is the new value to set.
Return value: This method returns nothing.
Below programs illustrate the setRelease() method:
Program 1:
// Java program to demonstrate // AtomicReference.setRelease() method import java.util.concurrent.atomic.AtomicReference;
public class GFG {
public static void main(String[] args)
{
// create an atomic reference object.
AtomicReference<Long> ref
= new AtomicReference<Long>();
// set some value using setRelease method
ref.setRelease(123457876L);
// print value
System.out.println( "value = " + ref.get());
}
} |
Program 2:
// Java program to demonstrate // AtomicReference.setRelease() method import java.util.concurrent.atomic.AtomicReference;
public class GFG {
public static void main(String[] args)
{
// create an atomic reference object
AtomicReference<String> ref
= new AtomicReference<String>();
// set some value using setRelease()
ref.setRelease( "String Builder" );
// print value
System.out.println( "Class = " + ref.get());
}
} |
References: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReference.html#setRelease(V)