准备花点时间阅读一下java.util.concurrent这个包里面的java代码,大致看了一下,这个包我个人觉得大致可以分为五个部分(如有不对之处,还望指正)
第一部分 Aomic数据类型
这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的数组类型。
第二部分 锁
这部分都被放在java.util.concurrent.lock这个包里面,实现了并发操作中的几种类型的锁
第三部分 java集合框架中的一些数据结构的并发实现
这部分实现的数据结构主要有List, Queue和Map。
第四部分 多线程任务执行
这部分大体上涉及到三个概念,
Callable 被执行的任务
Executor 执行任务
Future 异步提交任务的返回数据
第五部分 线程管理类
这部分主要是对线程集合的管理的实现,有CyclicBarrier, CountDownLatch,Exchanger等一些类
以上就是对这个包的结构的粗略分析,接下来会一个部分一个部分地阅读java代码,顺便在这里写些心得和体会与诸位分享。