什么是CAS
CAS:compareAndSet的缩写,比较和修改。这个设计到操作系统。
compareAndSet有两个参数一个是期望,另一个是修改的值,就是如果期望的值达到了,就修改。反之就不修改
AtomicInteger atomicInteger
= new AtomicInteger(2020);
# 在初始化的时候就设置了初始值为
2020,调用compareAndSet,原值和期望值相同,就修改为
2022.
atomicInteger
.compareAndSet(2020, 2022);
System
.out
.println(atomicInteger
.get());
遇到一个坑 Integer的值不在-128到127之间,会重新创建对象,不能使用==来比较,包装类必须使用eques比较。