并发原子性技术之CAS机制

1. CAS机制

CAS定义

  • 从wiki百科中,Compare-and-swap简称为“CAS”,是属于并发多线程中实现同步原子操作的指令,是依赖于硬件层次的原语发起的原子操作
  • 从程序代码理解上,CAS包含check then act的两个动作,这两个动作在处硬件的处理器上是具备原子性,也就是在操作系统底层上已经实现对CAS算法的原子性保证

CAS 使用条件

  • 需要输入两个数值,一个是期望修改前的值(旧值),一个是需要被设置的新值(新值)
  • 进行CAS操作需要进行对预期值的check操作

CAS之java简易版本

  • 通过CAS设置新值
// 简单的check方式完成对象新值的设置
// cas.java
boolean cas(Object ref, int refOldVal, int refNewVal)

猜你喜欢

转载自blog.csdn.net/wind_602/article/details/104099524