`

“JUC原子类”框架-01

JUC 
阅读更多
根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类。
1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;
2. 数组类型: AtomicIntegerArray, AtomicLongArray, AtomicReferenceArray ;
3. 引用类型: AtomicReference, AtomicStampedRerence, AtomicMarkableReference ;
4. 对象的属性修改类型: AtomicIntegerFieldUpdater, AtomicLongFieldUpdater, AtomicReferenceFieldUpdater 。
最常使用的应该是 AtomicInteger, AtomicLong, AtomicBoolean以及AtomicReference
这些类存在的目的是对相应的数据进行原子操作。所谓原子操作,是指操作过程不会被中断,保证数据操作是以原子方式进行的。不可终端的一个或者一系列的操作
CAS操作:compare and Swap 就是比较交换的有,需要两个参数,一个是旧值【操作前的值】一个是新值,处理期间先比较旧的值有没有发生变化,如果没有发生变化,才交换成新的值,发生了变化则不交换。
分享到:
评论

相关推荐

    JUC线程锁框架

    JUC提供了一系列的原子变量类,如AtomicInteger、AtomicLong等,它们实现了在无同步的情况下进行原子操作,确保在多线程环境下数据的一致性。这些类通过CAS(Compare and Swap)算法实现,能够在高并发场景下高效地...

    JavaCommon:Java基础用法,集合,线程,JUC,jdk5--8各个版本特性。

    - **原子类**:AtomicInteger、AtomicLong等,支持原子操作。 - **线程池**:ExecutorService和ThreadPoolExecutor,管理线程资源,提高性能。 - **Future和Callable**:异步计算结果的获取。 5. **JDK 5到JDK 8...

    Java 多线程与并发(7-26)-JUC - 类汇总和学习指南.pdf

    Atomic 部分提供了一些原子类,例如 AtomicInteger、AtomicLong 等,这些类可以在多线程环境下安全地进行原子操作。 4.Executors: Executors 部分提供了一些线程池类,例如 ThreadPoolExecutor、...

    尚硅谷Java视频_JUC 视频教程

    ·00. 尚硅谷_JUC线程高级_源码、课件 ·1. 尚硅谷_JUC线程高级_volatile 关键字与内存可见性 ·2. 尚硅谷_JUC线程高级_原子变量与 CAS 算法 ·3. 尚硅谷_JUC线程高级_模拟 CAS... ForkJoinPool 分支合并框架-工作窃取

    个人学习-JUC-笔记

    6. **原子类** - **Atomic包**:如AtomicInteger、AtomicLong等,提供原子操作,避免显式锁定。 7. **线程间通信** - **wait()与notify()**:Object类的方法,用于线程间的协作。 - **Condition**:Lock接口的...

    juc尚硅谷-自学笔记

    6. **Atomic类**:这些类提供了一种在不使用synchronized关键字的情况下实现原子操作的方法,如`AtomicInteger`、`AtomicLong`等,它们保证了在多线程环境下的数据一致性。 7. **ConcurrentHashMap**:它是线程安全...

    heima-JUC-资料

    在Java中,JUC包(java.util.concurrent)包含了一系列的类和接口,这些类和接口主要用于解决并发问题,如线程池、同步容器、并发集合、锁、原子变量等。下面我们将深入探讨这些关键概念: 1. **线程池**:Java通过...

    尚硅谷Java视频_JUC视频教程

    - **Atomic类**: `java.util.concurrent.atomic`包下的原子类提供了基本类型的原子更新操作,如`AtomicInteger`等。它们在无锁的情况下实现多线程环境中的原子操作。 - **ConcurrentHashMap**: 一种线程安全的哈希...

    05-Java多线程并发编程JUC.pdf

    - 原子性:一个操作不可分割,要么全部执行完毕要么全不执行,如使用synchronized和CAS实现。 - 顺序性:多线程按照代码的书写顺序执行,synchronized和volatile关键字可以保证顺序性。 - 可见性:一个线程对共享...

    Java——JUC

    JUC主要包含在`java.util.concurrent`包中,提供了线程池、同步容器、并发集合、原子类、异步计算以及定时任务等多种高级并发工具。 1. **线程池(ExecutorService)** - 线程池是JUC中的核心组件,它允许开发者...

    尚硅谷JUC百度云连接

    4. **原子变量**:如`AtomicInteger`、`AtomicLong`等,这些类提供了一种无需显式加锁即可实现线程安全的方式。 5. **阻塞队列**:如`ArrayBlockingQueue`、`LinkedBlockingQueue`等,它们是线程安全的队列,通常用...

    JUC并发编程与源码分析视频课.zip

    7. **原子类与CAS操作**:介绍AtomicInteger、AtomicLong等原子类,以及无锁编程的基础——Compare and Swap(CAS)操作。理解无锁数据结构的实现和优势。 8. **线程局部变量**:学习ThreadLocal类的使用,了解如何...

    thread.zip--狂神多线程+juc

    6. Atomic类:提供了一组原子操作类,如AtomicInteger、AtomicLong等,它们在多线程环境中提供了一种无锁的更新方式,保证了数据的完整性。 此外,还有如ScheduledExecutorService用于定时任务,BlockingQueue用于...

    JUC核心类AQS的底层原理

    AQS作为Java并发工具包(JUC)中的一个核心抽象类,其设计目的是为了实现各种同步器(如锁、信号量等)。AQS主要通过三个核心组成部分来实现这些同步组件的功能: 1. **State变量及其CAS操作**:AQS维护了一个名为`...

    juc从入门到精通实例代码.rar

    4. **原子类** - `Atomic*`系列类,如`AtomicInteger`、`AtomicBoolean`等,提供了基于CAS(Compare And Swap)的原子操作,可以在不使用锁的情况下实现线程安全的更新。 5. **线程局部变量** - `ThreadLocal`类...

    【学习笔记】JUC基础基础程序

    原子类如AtomicInteger、AtomicLong和AtomicReference是线程安全的变量,它们提供了一种无锁编程的方式,可以在不使用synchronized的情况下保证更新的原子性。这些类在高并发场景下能提供更好的性能。 最后,...

    JUC并发工具包实例.zip

    本实例集合包含了几个关键组件的示例代码,如AQS、Lock、CountDownLatch和Atomic原子类。 1. **AQS(AbstractQueuedSynchronizer)**: AQS是Java并发包中的核心抽象类,它是基于FIFO队列的等待锁框架。许多并发...

    哔哩哔哩JUC狂老师笔记.zip

    3. **原子类(Atomic Classes)**: - **AtomicInteger, AtomicLong**等:提供原子操作的整数和长整型变量,保证在多线程环境下的安全。 - **AtomicReference**:原子引用,用于原子地更新对象引用。 4. **并发...

    juc详解juc详解juc详解juc详解juc详解juc详解juc详解

    5. **原子类(AtomicXXX)**: - `AtomicInteger`、`AtomicLong`、`AtomicBoolean`等提供了原子操作,保证了在多线程环境下的数据一致性,避免了`synchronized`的使用。 6. **线程中断与中断响应**: - `Thread....

Global site tag (gtag.js) - Google Analytics