Atomic系列类整体介绍
程序员文章站
2022-03-25 17:36:45
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。 "并发编程系列博客传送门" 本文是转载文章,原文请见 "此博客" ,文章主要对 开发包下的类进行整体概述与类别划分。 版本说明 在JDK1.5版本之前,多行代码的原子性主要通过sy ......
本博客系列是学习并发编程过程中的记录总结。由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅。
本文是转载文章,原文请见,文章主要对java.util.concurrent.atomic
开发包下的类进行整体概述与类别划分。
版本说明
在jdk1.5版本之前,多行代码的原子性主要通过synchronized关键字进行保证。
在jdk1.5版本,java提供了原子类型专门确保变量操作的原子性。
开发包整体说明
原子类型位于java.util.concurrent.atomic包下,其主要类如下:
其类图关系如下:
原子类型划分
为了方面对这些类逐级掌握,我将这些原子类型分为以下几类:
- 普通原子类型:提供对boolean、int、long和对象的原子性操作。
- atomicboolean
- atomicinteger
- atomiclong
- atomicreference
- 原子类型数组:提供对数组元素的原子性操作。
- atomiclongarray
- atomicintegerarray
- atomicreferencearray
- 原子类型字段更新器:提供对指定对象的指定字段进行原子性操作。
- atomiclongfieldupdater
- atomicintegerfieldupdater
- atomicreferencefieldupdater
- 带版本号的原子引用类型:以版本戳的方式解决原子类型的aba问题。
- atomicstampedreference
- atomicmarkablereference
- 原子累加器(jdk1.8):atomiclong和atomicdouble的升级类型,专门用于数据统计,性能更高。
- doubleaccumulator
- doubleadder
- longaccumulator
- longadder
上一篇: 秋天应该吃什么?秋天吃什么可以补充营养?
下一篇: 完全依赖QML实现播放器