1.CAS
一种高效实现线程安全的方法(乐观锁)。
1.支持原子更新操作,适用于计数器,序列发生器等场景。
2 属于乐观锁机制,号称Lock-free
3 CAS 操作失败时,由开发者决定时继续操作,还是执行别的操作。
2 CAS的思想
1 包含三个操作数------内存位置(V)、预期原值(A)、新值(B)。
(执行CAS操作的时候,将V与A进行比较,如果想匹配,处理器就是将该位置的值更新为新值B。否则处理器不做任何操作。内存位置的值V即为主内存中的值。)
3 CAS的确定
1 若循环时间长,则开销很大
2 只能保证一个共享变量的原子操作。
3 ABA问题 :解决:AtomicStampedRefence