美文网首页
7. Java中的13个原子操作类

7. Java中的13个原子操作类

作者: 星冉子 | 来源:发表于2020-02-13 10:08 被阅读0次

原子操作

一种用法简单、性能高效、线程安全的更新变量的方式,包括原子更新基本类型、原子更新数组、原子更新引用、原子更新字段,采用Unsafe实现的包装类;

原子更新基本类型

包括AtomicBoolean、AtomicInteger、AtomicLong,方法包括addAndGet、compareAndSet、getAndIncrement、getAndSet;

实现:采用CAS,调用UnSafe包实现,目前Unsafe只提供了3个方法,所以基本类型只有3个,其他实现原理一样;

原子更新数组

包括AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray,方法包括addAndGet、compareAndSet;

创建时采用构造方法传入普通数组,Atomic 会复制一份修改;

原子更新引用

包括AtomicReference、AtomicReferenceFieldUpdater、AtomicMarkableReference;

创建时采用构造方法传入普通对象,再调用原子方法修改;

原子更新字段

包括AtomicIntegerFieldUpdater、AtomicLongFieldUpdater、AtomicStampedReference(更新有版本号的引用,解决CAS的ABA问题);

构造时需要使用构造器指定字段名称,其中字段必须是volatile;

相关文章

  • Java - 原子操作类

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

  • 7. Java中的13个原子操作类

    原子操作 一种用法简单、性能高效、线程安全的更新变量的方式,包括原子更新基本类型、原子更新数组、原子更新引用、原子...

  • <<java编程思想>>笔记:并发2

    java中的原子操作类原子操作是指程序编译后,对应于一条cpu操作指令,即原子操作时最小的不可再分指令集,编程中的...

  • Java并发 之 Atomic 原子操作类

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

  • 并发编程艺术-7

    本文主要介绍了java 中的 原子操作类,分为原子更新基本类型,原子更新数组,原子更新引用,原子更新属性,基本上都...

  • 【多线程与并发】Java中的12个原子操作类

    从JDK1.5开始,Java提供了java.util.concurrent.atomic包,该包中的原子操作类提供...

  • java线程之atomic包简介

    java.util.concurrent.atomic 包中提供了一些原子操作类, 可分为4中类型: 原子更新基本...

  • Java 原子操作类

    概述 java.util.concurrent.atomic 包一共提供了 13 个类,属于 4 种类型的原子更新...

  • Java原子操作类

    本篇文章主要介绍Java并发包中的13中原子操作类 当程序更新一个变量时,如果多线程同时更新这个变量,可能得到期望...

  • 浅析Java中的原子操作

    浅析Java中的原子操作

网友评论

      本文标题:7. Java中的13个原子操作类

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