int i=0;
i++;
i++在高并发的情况下不能保证线程安全,如果有百万量级同时请求,有可能很多线程同时拿到的值是 i=20;
AtomicInteger atomicInteger=new AtomicInteger();
//.getAndIncrement()可以理解为i++
atomicInteger.getAndIncrement();
AtomicInteger 是线程安全的,高并发的情况下,每个线程获取的不是重复值
int i=0;
i++;
i++在高并发的情况下不能保证线程安全,如果有百万量级同时请求,有可能很多线程同时拿到的值是 i=20;
AtomicInteger atomicInteger=new AtomicInteger();
//.getAndIncrement()可以理解为i++
atomicInteger.getAndIncrement();
AtomicInteger 是线程安全的,高并发的情况下,每个线程获取的不是重复值