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