JUC - 01 源码包的结构

一直想着对java.util.concurrent (JUC) 进行一次详细的研究,自己也整理了一些相关的知识,却始终没有去阅读源码相关的东西,所以最近想去看一看 JUC 相关的源码,也去看了 “梧留柒” 的博客,里面比较详细的介绍了JUC 中的接口和实现类的源码,所以打算通过博客来记录下相关的知识以此来反复学习。

我们来看下包结构(基于JDK7)

JUC - 01 源码包的结构_第1张图片

JUC - 01 源码包的结构_第2张图片

JUC - 01 源码包的结构_第3张图片

大致我们可以分为

1. Aomtic 原子数据类型

这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的数组类型。

2. 锁

这部分都被放在java.util.concurrent.lock这个包里面,实现了并发操作中的几种类型的锁

3. java 并发集合

这部分实现的数据结构主要有List, Queue和Map。

4. 阻塞队列/线程池

Queue   队列

Callable     被执行的任务

Executor  执行任务

Future      异步提交任务的返回数据

Completion  异步非阻塞

5. 并发工具类

这部分主要是对线程集合的管理的实现,有CyclicBarrier, CountDownLatch,Exchanger等一些类

你可能感兴趣的:(JUC,并发,多线程,队列)