国际商业机器公司(见参考资料)写了关于Java1.5的java.util.concurrent类的好处,它提供了非阻塞队列。
请在下面解释NonBlockingCounter的缺点/缺点。
public class NonblockingCounter {
private AtomicInteger value;
public int getValue() {
return value.get();
}
public int increment() {
int v;
do {
v = value.get();
}
while (!value.compareAndSet(v, v + 1)); // params - (actual, expected)
return v + 1;
}
}来源- http://www.ibm.com/developerworks/java/library/j-jtp04186/index.html
发布于 2010-08-11 09:02:51
缺点是,如果存在争用,它会在尝试递增值的同时旋转。这意味着它对高争用锁是不好的。
优点是它没有锁获取/信号量开销。这对于低争用锁是很好的。
https://stackoverflow.com/questions/3454574
复制相似问题