[JAVA修炼之路八]-java包Concurrent包-atomic

一、包结构
[JAVA修炼之路八]-java包Concurrent包-atomic_第1张图片

1、 原子更新基本类型类
AtomicInteger
AtomicLong
AtomicBoolean

2、原子更新数组类

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

3、原子更新引用类型

AtomicReference:原子更新引用类型。

AtomicReferenceFieldUpdater:原子更新引用类型里的字段。

AtomicMarkableReference:原子更新带有标记位的引用类型。可以原子的更新一个布尔类型的标记位和引用类型

AtomicStampedReference

二、中心思想

1、volatitle

2、cas

通过线程之间信息同步、CPU指令,加上乐观锁性质,保证原子操作

三、针对ABA问题

•AtomicStampedReference

•对象引用+版本号(时间戳)或者refrence+stamp

•AtomicMarkableReference

•对象引用+boolean


你可能感兴趣的:([JAVA修炼之路八]-java包Concurrent包-atomic)