我正在为类中的addAndGet方法编写Java(Java 6)源代码AtomicInteger.
相应的代码如下:
public final int addAndGet(int delta) {
for (;;) {
int current = get();
int next = current + delta;
if (compareAndSet(current, next))
return next;
}
}
Run Code Online (Sandbox Code Playgroud)
compareAndSet方法调用本机方法来执行赋值.主要有两个问题:
类似的质疑是与decrementAndGet,getAndDecrement,getAndAdd方法为好.