csworkman

个人博客

CAS

2022-6-9 Mr Chang JUC

CAS 是靠硬件实现的从而在硬件层面提升效率,最底层还是交给CPU来保证原子性和可见性。实现方式是基于硬件平台的汇编指令,在intel的CPU中(X86机器),使用的是汇编指令cmpxchg指令。

核心思想就是:比较要更新变量的值V和预期值E(compare),相等才会将V的值设为新值N(swap)如果不相等自旋再来。


CAS两大缺点:
  1. 循环导致时间过长开销大
  2. ABA问题
    1654742119(1).jpg
    解决办法: 比较+版本号一致










































































发表评论: