原子类介绍

原子类介绍

Posted by bulingfeng on August 2, 2024

简介

原子类都是使用CAS的方式来进行实现的,而原子类的分类如图所示;由于浮点数不能精确确定其的准确值,所以没有浮点类的原子类。

ABA问题

当引用类型的数据被修改的时候会出现ABA问题,这样会造成一些问题。所以原子类也给了对应的类来防止这种现象出现,比如AtomicStampedReference

1
2
3
4
5
6
AtomicStampedReference<String> atomic=new AtomicStampedReference<>("hello",0);
int stamp = atomic.getStamp();
boolean hello = atomic.compareAndSet("hello", "hello-1", 0, 1);
if (hello){
    System.out.println(atomic.getReference());
}