Java多线程与并发原理 --- CAS

 CAS(Co'mpare  and Swap)

一种高效实现线程安全性的方法

1、支持原子更新操作、适用于计数器、序列发生器等场景。

2、属于乐观锁机制,号称 lock - free

3、CAS操作失败时由开发者决定是继续尝试,还是执行别的操作。

Java多线程与并发原理 --- CAS

悲观锁:

Java多线程与并发原理 --- CAS CAS 多数情况下对开发者来说是透明的。

Java多线程与并发原理 --- CAS

Java多线程与并发原理 --- CAS

在使用CAS 前要考虑ABA 问题 是否影响程序并发的正确性,如果需要解决ABA 问题,改用传统的互斥同步,可能会比原子性更高效。