在Java的java.util.concurrent.atomic包中,AtomicInteger类有一个addAndGet(int)方法,详情请参考此链接。
为什么在这里使用无限循环来设置一个值?
public final int addAndGet(int delta) {
for (;;) {
int current = get();
int next = current + delta;
if (compareAndSet(current, next))
return next;
}
}
为什么在这里使用无限循环来设置一个值?