Java中的 AtomicLong getAndUpdate() 方法及示例
Java.AtomicLong.getAndUpdate()方法是一个内置方法,它通过对当前值应用指定的操作来更新对象的当前值。它将 LongUnaryOperator 接口的对象作为其参数,并将对象中指定的操作应用于当前值。它返回之前的值。
句法:
public final long getAndUpdate(LongUnaryOperator function)
参数:此方法接受 LongUnaryOperator函数作为参数。
它将给定函数应用于对象的当前值。
返回值:函数返回对象的前一个值。
示例来演示函数。
import java.util.concurrent.atomic.AtomicLong;
import java.util.function.LongUnaryOperator;
public class Demo {
public static void main(String[] args)
{
// AtomicLong initialized with a value of -20000
AtomicLong al = new AtomicLong(-20000);
// Unary operator defined to negate the value
LongUnaryOperator unaryOperator = (x) -> - x;
// Function called and the unary operator
// is passed as an argument
long x = al.getAndUpdate(unaryOperator);
System.out.println("Previous value is " + x);
System.out.println("Updated Value is " + al);
}
}
输出:
Previous Value is -20000
Updated value is 20000
参考: https: Java/util/concurrent/atomic/AtomicLong.html