写在前面
近期在研究java.util.concurrent源码,将自己学到的一些鄙见记录下来,供新入坑的朋友一起学习。持续更新...
1、Aomic数据类型
这部分都被放在java.util.concurrent.atomic
这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence
这四种类型以及这四种类型的数组类型。
2、锁
这部分都被放在java.util.concurrent.lock
这个包里面,实现了并发操作中的几种类型的锁。
3、java集合框架中的一些数据结构的并发实现
这部分实现的数据结构主要有List, Queue和Map
。
4、多线程任务执行
这部分大体上涉及到三个概念
- Callable:被执行的任务
- Executor:执行任务
- Future:异步提交任务的返回数据
5、线程管理类
这部分主要是对线程集合的管理的实现,有CyclicBarrier, CountDownLatch,Exchanger
等。