文章最前: 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。
这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。
相关文章:
- LeetCode:55. Jump Game(跳远比赛)
- Leetcode:300. Longest Increasing Subsequence(最大增长序列)
- LeetCode:560. Subarray Sum Equals K(找出数组中连续子串和等于k)
文章目录:
打算看一下concurrent包的源码,通过java并发编程的艺术这本书,大致将concurrent包分为五个模块
1. Aomic数据类型
这部分都被放在java.util.concurrent.atomic这个包里面,实现了原子化操作的数据类型,包括 Boolean, Integer, Long, 和Referrence这四种类型以及这四种类型的数组类型。
2. 锁
这部分都被放在java.util.concurrent.lock这个包里面,实现了并发操作中的几种类型的锁。
3.ConcurrentHashMap实现
这部分实现的数据结构主要有List, Queue和Map。
4.多线程任务执行
这部分大体上涉及到三个概念:
Callable 被执行的任务。
Executor 执行任务。
Future 异步提交任务的返回数据。
5. 线程管理类
这部分主要是对线程集合的管理的实现,有CountDownLatch,CyclicBarrier, Semaphore,Exchanger等一些类。