📌  相关文章
📜  Java中的 AtomicLong getAndSet() 方法及示例

📅  最后修改于: 2022-05-13 01:54:18.753000             🧑  作者: Mango

Java中的 AtomicLong getAndSet() 方法及示例

Java.util.concurrent.atomic.AtomicLong.getAndSet()是Java中的一个内置方法,它将给定值设置为参数中传递的值,并返回更新前的值,该值是数据类型long

句法:

public final long getAndSet(long val)

参数:该函数接受一个强制参数val ,该参数指定要更新的值。

返回值:该函数将执行更新操作之前的值返回到之前的值。

下面的程序说明了上述方法:

方案一:

// Java program that demonstrates
// the getAndSet() function
  
import java.util.concurrent.atomic.AtomicLong;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Initially value as 0
        AtomicLong val = new AtomicLong(0);
  
        // Updates and sets
        long res
            = val.getAndSet(10);
  
        System.out.println("Previous value: "
                           + res);
  
        // Prints the updated value
        System.out.println("Current value: "
                           + val);
    }
}
输出:
Previous value: 0
Current value: 10

方案二:

// Java program that demonstrates
// the getAndSet() function
  
import java.util.concurrent.atomic.AtomicLong;
  
public class GFG {
    public static void main(String args[])
    {
  
        // Initially value as 18
        AtomicLong val = new AtomicLong(18);
  
        // Gets and updates
        long res = val.getAndSet(12);
  
        System.out.println("Previous value: "
                           + res);
        // Prints the updated value
        System.out.println("Current value: "
                           + val);
    }
}
输出:
Previous value: 18
Current value: 12

参考: https: Java/util/concurrent/atomic/AtomicLong.html#getAndSet–