多线程与高并发(三)--Atomic类和线程同步新机制
一、什么是无锁操作?举个例子模拟我们计一个数,所有的线程都要共同访问这个数count值,大家知道如果所有线程都要访问这个数的时候,如果每个线程给它往上加了10000,你这个时候是需要加锁的,不加锁会出问题。但是,你把它改成AtomicInteger之后就不用在做加锁的操作了,因为incrementAndGet内部用了cas操作,直接无锁的操作往上递增,无锁的操作效率会更高。/** * 解决同样的问题的高效方法,使用AtomXXX类 * AtomXXX类的本身方法都是原子性的,但不能保证多个