侧边栏壁纸
博主头像
孔子说JAVA博主等级

成功只是一只沦落在鸡窝里的鹰,成功永远属于自信且有毅力的人!

  • 累计撰写 292 篇文章
  • 累计创建 132 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Java并发编程之原子操作类实战教程

孔子说JAVA
2022-06-16 / 0 评论 / 0 点赞 / 84 阅读 / 1,471 字 / 正在检测是否收录...

在java.util.concurrent.atomic包下的类(简称JUC)对原子操作提供了强大的支持,atomic 翻译成中文是原子的意思,是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰,所以,所谓原子类说简单点就是具有原子操作特征的类,原子操作类提供了一些修改数据的方法,这些方法都是原子操作的,在多线程情况下可以确保被修改数据的正确性。根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。

  1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;
  2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;
  3. 引用类型: AtomicReference, AtomicStampedRerence, AtomicMarkableReference ;
  4. 对象的属性修改类型: AtomicIntegerFieldUpdater, AtomicLongFieldUpdater, AtomicReferenceFieldUpdater 。

这些类存在的目的是对相应的数据进行原子操作。所谓原子操作,是指操作过程不会被中断,保证数据操作是以原子方式进行的。几乎所有的原子操作都是基于CAS实现的,具体教程:Java并发编程之CAS应用实战

1、基本类型原子类

使用原子的方式更新基本类型,Atomic包提供了以下3个类。

AtomicInteger 具体教程: Java并发编程之原子操作类AtomicInteger详解
AtomicLong 具体教程: Java并发编程之原子操作类AtomicLong详解
AtomicBoolean 具体教程: Java并发编程之原子操作类AtomicBoolean实战详解

2、数组类型原子类

通过原子的方式更新数组里的某个元素,Atomic包提供了以下3个类。

AtomicIntegerArray 具体教程: Java并发编程之原子操作类AtomicIntegerArray实战详解
AtomicLongArray 具体教程: Java并发编程之原子操作类AtomicLongArray实战详解
AtomicReferenceArray 具体教程: Java并发编程之原子操作类AtomicReferenceArray实战详解

3、引用类型原子类

通过原子的方式更新更新引用类型,Atomic包提供了以下3个类。

AtomicReference 具体教程: Java并发编程之原子操作类AtomicReference实战详解
AtomicStampedReference 具体教程: Java并发编程之原子操作类AtomicStampedReference实战详解
AtomicMarkableReference 具体教程: Java并发编程之原子操作类AtomicMarkableReference实战详解

4、对象的属性修改类型原子类

通过原子的方式更新对象的属性类型,Atomic包提供了以下3个类。

AtomicReferenceFieldUpdater 具体教程: Java并发编程之原子操作类AtomicReferenceFieldUpdater实战详解
AtomicIntegerFieldUpdater 具体教程: Java并发编程之原子操作类AtomicIntegerFieldUpdater实战详解
AtomicLongFieldUpdater 具体教程: Java并发编程之原子操作类AtomicLongFieldUpdater实战详解

0

评论区