AtomicInteger底层实现原理是什么?如何在自己的产品代码中应用CAS操作?
AutomicInteger是对int类型的一个封装,提供原子性的访问和更新操作,原子操作的实现是基于cas(compare-and-swap)来实现的。
什么是原子性访问?
一组操作要么全部成功,要么全部失败。
原子类操作都有哪些?
不光有AtomicInteger,还有很多原子类操作的类型。基本分为6类:
Atomic*:AtomicInteger、AtomicLong 和 AtomicBoolean
以AtomicInteger为例:
查看相关的方法:
把当前的值获取到,并且设置新的值。
获取当前的值,并且自增。为 +1