高并发(12)-原子操作类的使用

2020-04-05  本文已影响0人  残冬十九

@TOC

前言

上篇文章讲解了什么是原子操作,并且怎么实现原子操作。今天就讲一下原子的操作类

什么是原子操作类

为了针对原子操作,JDK1.5之后java.util.concurrent.atomic包,这个包提供了针对原子操作的原子操作类。

有哪些原子操作类

原子操作类基本分成以下几种:

基本类型

基本类型的原子类有三个分别是AtomicBoolean,AtomicInteger,AtomicLong​

  1. AtomicBoolean是原子更新布尔类型的值
  2. AtomicInteger是原子更新integer的值
  3. AtomicLong​是原子更新Loong的值

数组类型

数组类型的原子类有三个分别是AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray​

  1. AtomicIntegerArray是原子更新integer类型的数组
  2. AtomicLongArray是原子更新Long类型的数组
  3. AtomicReferenceArray是原子更新引用类型类型的数组

引用类型

引用类型的原子类有三个分别是AtomicReference,AtomicMarkableReference,AtomicStampedReference​

  1. AtomicReference是对引用类型的原子操作
  2. AtomicMarkableReference是对引用类型的原子操作,解决了ABA问题,但是不会关注更新了多少次
  3. AtomicStampedReference也​是对引用类型的原子操作,解决了ABA问题,但是会关注这个值修改了多少次

属性类型

基本类型的原子类有三个分别是AtomicReferenceFieldUpdater,AtomicIntegerFieldUpdater,AtomicLongFieldUpdater​

  1. AtomicReferenceFieldUpdater是对引用类型的属性修改
  2. AtomicIntegerFieldUpdater是数值型的属性修改
  3. AtomicLongFieldUpdater​是对Long类型的属性修改
上一篇下一篇

猜你喜欢

热点阅读