美文网首页
Java并发-24.原子操作类

Java并发-24.原子操作类

作者: 悠扬前奏 | 来源:发表于2019-06-02 21:49 被阅读0次

java.util.concurrent.atomic包中有13个原子类,属于四种类型 的跟新方式,分别是原子更新基本类型,原子更新数组,原子更新引用和原子更新属性(字段)。基本都是使用Unsafe实现的包装类

1. 原子更新基本类型

  • AtomicBoolean: 原子更新布尔类型
  • AtomicInteger:原子更新整型
  • AtomicLong:原子更新长整型

都提供一下方法(以AtomicInteger为例):

  • int addAndGet(int delta):原子方式相加
  • boolean compareAndSet(int expect, int update):与except比较,以原子方式设置为update
  • int getAndIncrement():以原子方式加1,注意返回的是自增前的值
  • void lazySet(int newValue):最终变成newValue
  • int getAndSet(int newValue):以原子方式设置为newValue,返回旧值

2. 原子更新数组

  • AtomicIntegerArray:原子更新整型数组元素
  • AtomicLongArray:原子更新长整型数组元素
  • AtomicReferenceArray:原子更新引用类型数组的元素

常用方法:

  • addAndGet(int i, int delta):原子方式将输入值与数组中索引i的元素相加
  • boolean compareAndSet(int i, int expect, int update):当前值等于预期,就原子更新为update

3. 原子更新引用字段

  • AtomicReference:原子更新引用字段
  • AtomicReferenceFieldUpdater:原子更新引用类型里面的字段
  • AtomicMarkableReference:原子更新带有标布尔类型标记位的引用类型

4. 原子更新字段类

  • AtomicIntegerFieldUpdater:原子更新整型的字段的更新器
  • AtomicLongFieldUpdater:原子更新长整型字段的更新器
  • AtomicStampedReference:原子更新带有版本号的引用类型,可以将整型值与引用关联起来,用于原子的更新数据和数据的版本号,解决CAS进行原子更新的ABA问题。

相关文章

  • Java并发-24.原子操作类

    java.util.concurrent.atomic包中有13个原子类,属于四种类型 的跟新方式,分别是原子更新...

  • AtomicInteger原理

    AtomicInteger的原理 java的并发原子包里面提供了很多可以进行原子操作的类,比如: AtomicIn...

  • Java并发(七):原子操作类

    一. 原子更新基本类型 AtomicBoolean:原子更新布尔类型。 AtomicInteger:原子更新整型。...

  • J.U.C-atomic包

    原子操作类介绍 atomic包下为原子操作类。在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更...

  • Java并发 之 Atomic 原子操作类

    Atomic 原子操作类 在java.util.concurrent.atomic包里提供了一组原子操作类,这些类...

  • Java并发编程之原子操作类

    原子操作类简介 当更新一个变量的时候,多出现数据争用的时候可能出现所意想不到的情况。这时的一般策略是使用synch...

  • Java原子类

    1、原子类的分类 原子操作是指一个不可中断的操作。 原子类是指具有原子操作特征的类。 JUC并发包中的原子类都存放...

  • juc并发包集合整理

    JUC提供了java并发编程需要的类,主要分几个大模块1 原子类操作2 锁3 阻塞队列4 并发集合5 同步器6 线...

  • Java - 原子操作类

    Java中的12个原子操作类 原子更新基本类型类 AtomicBoolean:原子更新布尔类型 AtomicInt...

  • 2020年Java并发试题整理

    2019年Java并发试题整理(答案) 1、并发编程三要素? (1)原子性 原子性指的是一个或者多个操作,要么全部...

网友评论

      本文标题:Java并发-24.原子操作类

      本文链接:https://www.haomeiwen.com/subject/pqvvzqtx.html