“`根据操作的数据类型,可以将JUC包中的原子类分为4类

<strong>基本类型</strong>

使用原子的方式更新基本类型</p>

<ul><li>AtomicInteger:整型原子类</li><li>AtomicLong:长整型原子类</li><li>AtomicBoolean :布尔型原子类</li></ul>

<strong>数组类型</strong>

使用原子的方式更新数组里的某个元素

<ul><li>AtomicIntegerArray:整型数组原子类</li><li>AtomicLongArray:长整型数组原子类</li><li>AtomicReferenceArray :引用类型数组原子类</li></ul>

<strong>引用类型</strong>

<ul><li>AtomicReference:引用类型原子类</li><li>AtomicReferenceFieldUpdater:原子更新引用类型里的字段</li><li>AtomicMarkableReference :原子更新带有标记位的引用类型</li></ul>

<strong>对象的属性修改类型</strong>

<ul><li>AtomicIntegerFieldUpdater:原子更新整型字段的更新器</li><li>AtomicLongFieldUpdater:原子更新长整型字段的更新器</li><li>AtomicStampedReference :原子更新带有版本号的引用类型。该类将整数值与引用关联起来,可用于解决原子的更新数据和数据的版本号,可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。</li><li>AtomicMarkableReference:原子更新带有标记的引用类型。该类将 boolean 标记与引用关联起来,也可以解决使用 CAS 进行原子更新时可能出现的 ABA 问题。</li></ul>

“`

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.