incrementandget:是先加1再返回
getandincrement :是先返回再加1
public final int getAndIncrement() {
return unsafe.getAndAddInt(this, valueOffset, 1);
}
public final int incrementAndGet() {
return unsafe.getAndAddInt(this, valueOffset, 1) + 1;
}
public static void main(String[] args) throws Exception {
AtomicInteger first = new AtomicInteger(5);
first.getAndIncrement();
System.out.println(first);
AtomicInteger second = new AtomicInteger(5);
second.getAndIncrement();
System.out.println(second);
AtomicInteger first2 = new AtomicInteger(5);
int a = first2.getAndIncrement();
System.out.println("a value:" + a);
System.out.println("first value:" + first2);
AtomicInteger second2 = new AtomicInteger(5);
int b = second.incrementAndGet();
System.out.println("b value:" + b);
System.out.println("seconde value:" + second2);
}
结果:
6
6
a value:5
first value:6
b value:7
seconde value:5