用户工具


cas全称

操作系统层支持的一个原子操作函数 compareAndSwap()

原理

  1. 设置volatile变量(必须是volatile 字段。否则取的值可能不是最新值)
  2. compareAndSwap(volatile变量, 旧值, 新值)
  3. 重复步骤1,步骤2直到成功。

缺点

  • ABA问题
    • 由值A → 值B → 值A。对于该api是无法识别的