CAS理解
本文基本节选自 Java theory and practice: Going atomic CAS字面上是什么意思? CAS = Compare-and-Swap. 它的语义是: public class SimulatedCAS { private int value; //如果某个值当前值是期望值,则将某个值设置为新值;否则不做设置. //然后,返回当前值 public synchronized int compareAndSwap(int expectedValue, int newValue) { int currentValue = value; if (value == expectedValue) value = newValue; return currentValue; } } CAS在并发控制上起什么作用? 以“自增操作”为例,使用CAS可以避免常见的“丢失修改”问题 private SimulatedCAS value; public int increment() { int oldValue …