gpt4 book ai didi

java - 首先安全地使用 AtomicInteger 检查

转载 作者:搜寻专家 更新时间:2023-11-01 01:23:04 24 4
gpt4 key购买 nike

如何在 AtomicInteger 中执行“先检查后执行”操作变量?
IE。 首先 和 inc/dec 根据结果检查此类变量的值的最安全/最佳方法是什么?
例如。 (高级别)
if(count < VALUE) count++;//原子地使用AtomicInteger

最佳答案

你需要写一个循环。假设count是你的 AtomicInteger引用,你会写这样的东西:

while(true)
{
final int oldCount = count.get();
if(oldCount >= VALUE)
break;
if(count.compareAndSet(oldCount, oldCount + 1))
break;
}

以上将循环直到:(1) 你的 if(count < VALUE)条件不满足;或 (2) count成功递增。 compareAndSet的使用执行递增让我们保证 count 的值还是oldCount (因此仍然小于 VALUE )当我们设置它的新值时。

关于java - 首先安全地使用 AtomicInteger 检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com