AtomicBoolean
AtomicInteger AtomicLong
都能保证
可以用原子方式更新的 boolean,long ,int值
例如,下面这个同步方式:
import java.util.concurrent.atomic.AtomicLong;
class Creature {
private static AtomicLong numCreated = new AtomicLong();
public Creature() {
numCreated.incrementAndGet();
}
public static long numCreated() {
return numCreated.get();
}
}
jdk1。5以前做法是:
class Creature {
private static long numCreated;
public Creature() {
synchronized (Creature.class) {
numCreated++;
}
}
public static synchronized long numCreated() {
return numCreated;
}
}