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)



