并发编程肯定是必学的内容,在多核甚至多CPU时代,单线程就是对机器的浪费。本来我对这个专题是没什么兴趣的,但是最近面试经常被问,而且经常回答不出来,所以不得不学起来了。我的学习语言暂时以java为主。多线程的神话是难学,但是实际操作之后,发现是非常难学。但是根据我的习惯,我学之前先整理下目录,总共分为18篇。
基础 | 1. synchronized | monitor原理 |
2. future | ||
3. executors | ||
锁 | Reentrant lock | |
5. Read write lock | ||
6. Stamped lock | ||
7. condition | ||
辅助类 | 8. semaphore | |
8. cyclic barrier | ||
10. CountDownLatch | ||
11. phaser | ||
12. completion service | ||
13. Fork/join | ||
原子 | 14. Atomic | |
集合类 | 15. transfer queue | |
16. Blocking queue | ||
17. Concurrent hash map | ||
18. Concurrent skip list map |