首页 > 代码库 > java-CAS

java-CAS

CAS(compare and swap),非阻塞队列就是基于他实现的,它利用底层硬件进行原子操作,jdk concorrent包里那些Atomic*(AtomicInteger...)都有compareAndSet这样的方法,即比较后再进行设置,compareAndSet操作的变量需要时volatile的。

这种机制有时会有ABA问题,所以一般用AtomicStampedReference/AtomicMarkableReference

java-CAS