java.util.concurrent源码阅读 01 源码包的结构

java5之后的java.util.concurrent包是世界级并发大师Doug Lea的作品.
java.util.concurrent主要分为四个部分:

1.atomic包里Integer/Long对应的原子类;
2.同步锁;
3.并发容器, 比如ConcurrentHashMap,ConcurrentLinkedQueue,CopyOnWriteArrayList等;
4.多线程任务执行,如Executors等;
5.线程管理类,如CyclicBarrier, CountDownLatch,Exchanger等.

第一部分 Aomic数据类型

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

第二部分 锁

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

第三部分 java集合框架中的一些数据结构的并发实现

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

第四部分 多线程任务执行

这部分大体上涉及到三个概念,

Callable 被执行的任务

Executor 执行任务

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

第五部分 线程管理类

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

你可能感兴趣的:(java.util.concurrent源码阅读 01 源码包的结构)