CAS(Co'mpare and Swap)
一种高效实现线程安全性的方法
1、支持原子更新操作、适用于计数器、序列发生器等场景。
2、属于乐观锁机制,号称 lock - free
3、CAS操作失败时由开发者决定是继续尝试,还是执行别的操作。
悲观锁:
CAS 多数情况下对开发者来说是透明的。
在使用CAS 前要考虑ABA 问题 是否影响程序并发的正确性,如果需要解决ABA 问题,改用传统的互斥同步,可能会比原子性更高效。
CAS(Co'mpare and Swap)
一种高效实现线程安全性的方法
1、支持原子更新操作、适用于计数器、序列发生器等场景。
2、属于乐观锁机制,号称 lock - free
3、CAS操作失败时由开发者决定是继续尝试,还是执行别的操作。
悲观锁:
CAS 多数情况下对开发者来说是透明的。
在使用CAS 前要考虑ABA 问题 是否影响程序并发的正确性,如果需要解决ABA 问题,改用传统的互斥同步,可能会比原子性更高效。