开篇:并发编程的全景图
前面几篇我们分别聊了线程基础、synchronized、volatile、AQS、原子类、ThreadLocal。现在是时候把这些零散的知识串成一张网了。
本文是并发编程系列的"大总结",覆盖线程池、Fork/Join、并发容器、阻塞队列、异步编程等实战中最常用的工具。每个工具只讲核心原理和使用姿势,不再逐行贴源码,需要深挖源码的地方会指向对应的专题文章。
一、线程池深入
1.1 为什么需要线程池?
线程的创建和销毁都是昂贵的操作(涉及 OS 线程调度、内存分配)。如果每个任务都 new 一个线程,高并发下系统很快就会 OOM。线程池的核心思想是复用:提前创建好一批线程放在池子里,任务来了就从池子里取线程执行,执行完线程归还池子,而不是销毁。
大约 19 分钟