Discuss / Java / 对这章的理解

对这章的理解

Topic source

0

#1 Created at ... [Delete] [Delete and Lock User]
var.compareAndSet()方法是一个原子操作
public int incrementAndGet(AtomicInteger var) {
    int prev, next;
    do {
        prev = var.get(); // 局部变量每个线程内部持有一个
        next = prev + 1; // 局部变量每个线程内部持有一个
    } while ( ! var.compareAndSet(prev, next)); // 方法间接访问共享变量,如果没有被其他线程修改完成while(false)跳出循环 return next;如果被其他线程修改完成while(ture)继续执行循环
    return next;
}

  • 1

Reply