juc下面的atomic包

本文介绍了Java并发编程中的原子类AtomicReference,它提供了CAS操作,可用于实现对多个变量的原子操作。相较于AtomicInteger等基础原子类,AtomicReference更适合封装多个变量。此外,文章还提到了AtomicFieldUpdater和Adder、Accumulator等高级并发工具的使用场景和效率优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

atomic包下面  atomic:原子性  指的是一个操作不能被打断 是一个整体
1.atomic基本类型,比如atomicInteger  atomiclong。
2.atomic*Array  比如atomicIntegerArray里面所有的元素都是原子类的
3.atomicReference  原子引用 可以提供CAS方法 

使用场景参考:并发编程 — 原子类 AtomicReference 详解_small_love的专栏-优快云博客通过对 AtomicInteger、AtomicBoolean 和 AtomicLong 分析我们发现,这三个原子类只能对单个变量进行原子操作,那么我们如果要对多个变量进行原子操作,这三个类就无法实现了。那如果要进行多个变量进行原子操作呢?操作方式就是,先把 多个变量封装成一个类,然后通过 AtomicReference 进行操作。众所周知,对象的引用其实是一个4字节的数字,代表着在JVM堆内存中的引用地址,对一个4字节数字的读取操作和写入操作本身就是原子性的,通常情况下,我们对对象引用的操作一般都是获https://blog.youkuaiyun.com/small_love/article/details/111058977
6.atomic**filedUpdater :可以将普通变量变成原子变量 
4.Adder 累加器   效率比atomic高,因为他有一个cell数组,在每个线程内单独相加,最后是汇总,而atomic每次计算完以后都要重新fresh到主内存中,同时让其他线程的变量也refresh一次。Adder一般只能做加法
5.Accumulator  累加器  可以做多种运算,同时是线程安全的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值