官网:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html
首先在AtomicInteger内部,有个value变量,
private volatile int value; volatile保证变量的线程间可见性,compareAndSet方法实际上是做了两部操作,第一是比较
public final boolean compareAndSet(int expect, int update);value的值为expect的值,第二是把value的值更新为
update,这两步是原子操作,在没有多线程锁的情况下,借助cpu锁保证数据安全。