AtomicReference setRelease() method in Java with Examples

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());    }} |
Output:


Program 2:
// Java program to demonstrate// AtomicReference.setRelease() methodimport 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());    }} |
Output:


References: https://docs.oracle.com/javase/10/docs/api/java/util/concurrent/atomic/AtomicReference.html#setRelease(V)



