Java.util.concurrent.atomic.AtomicLong.weakCompareAndSet()是Java中的一种内置方法,如果当前值等于参数给定的期望值,则将值设置为参数中的传递值。该函数返回一个布尔值,该布尔值使我们了解更新是否完成。
用法:
public final boolean weakCompareAndSet(long expect, long val)
参数:该函数接受两个强制性参数,如下所述:
- expect:指定原子对象应为的值。
- val:指定如果原子长等于期望值则要更新的值。
返回值:该函数返回一个布尔值,成功则返回true,否则返回false。
以下示例程序旨在说明上述方法:
示例1:
// Java program that demonstrates
// the weakCompareAndSet() 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);
// Prlongs the updated value
System.out.println("Previous value: "
+ val);
// Checks if previous value was 0
// and then updates it
boolean res
= val.weakCompareAndSet(0, 6);
// Checks if the value was updated.
if (res)
System.out.println("The value was "
+ "updated and it is "
+ val);
else
System.out.println("The value was "
+ "not updated");
}
}
输出:
Previous value: 0 The value was updated and it is 6
示例2:
// Java program that demonstrates
// the weakCompareAndSet() 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);
// Prlongs the updated value
System.out.println("Previous value: "
+ val);
// Checks if previous value was 0
// and then updates it
boolean res
= val.weakCompareAndSet(10, 6);
// Checks if the value was updated.
if (res)
System.out.println("The value was "
+ "updated and it is "
+ val);
else
System.out.println("The value was "
+ "not updated");
}
}
输出:
Previous value: 0 The value was not updated
相关用法
- Java AtomicInteger weakCompareAndSet()用法及代码示例
- Java AtomicReferenceArray weakCompareAndSet()用法及代码示例
- Java AtomicReference weakCompareAndSet()用法及代码示例
- Java AtomicLong set()用法及代码示例
- Java AtomicLong get()用法及代码示例
- Java AtomicLong decrementAndGet()用法及代码示例
- Java AtomicLong toString()用法及代码示例
- Java AtomicLong doubleValue()用法及代码示例
- Java AtomicLong compareAndSet()用法及代码示例
- Java AtomicLong intValue()用法及代码示例
- Java AtomicLong longValue()用法及代码示例
- Java AtomicLong addAndGet()用法及代码示例
- Java AtomicLong getAndAdd()用法及代码示例
- Java AtomicLong incrementAndGet()用法及代码示例
- Java AtomicLong floatValue()用法及代码示例
注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 AtomicLong weakCompareAndSet() method in Java with examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。