- CAS
- 什么是CAS?
compare and swap。通过原子的方式,实现数据在数据符合预期的情况下,进行数据交换。
-
- 逻辑说明
-
- 多线程环境下的问题
如果线程1经判断a==b,准备执行a=c时,cpu切换到线程2,且将a改成了d,则会出现问题。
-
- 处理方案:加锁,volatile变量修饰
- CAS的应用步骤
- 获取Unsafe的实例
-
-
- 初始化变量的偏移量
-
-
-
- 变量由volatile关键字修饰
-