Java多線程內容繁多,同時也條理清晰。其中,concurrent包就是Java多線程中的一員悍將。concurrent包是Doug Lea老爺子為Java 1.5加入的多線程并發相關的包,此舉從此改變了Java多線程編程的方式!
Doug Lea老爺子靚照
為了更有條理的學習concurrent包的內容,我們先看一下某位阿里工程師總結的Java多線程知識學習思路:
image.png
從上圖結合concurrent源碼我們可以看出,concurrent包由淺入深大體可以分為下面幾個方面:
- 核心基礎
- AbstractQueuedSynchronizer
- AbstractQueuedLongSynchronizer
- AbstractOwnableSynchronizer
- LockSupport
- 鎖
- 原子操作
- 并發支持工具
- 并發集合
- Executor框架
好,從本文開始,我們就開始探索concurrent包的奧秘。