10.5 线程池 ( ) 10.5 线程池 ( ) 10.5.1 引言:为什么需要线程池? 在多线程编程中,为每个任务都创建一个新线程虽然简单,但在实际应用中却存在诸多弊端: 资源消耗大: 线程的创建和销毁都需要消耗系统资源(如CPU时间、内存)。频繁地创建和销毁线程会导致这些开销累积,影响系统性能。 响应速度慢: 如果任务量大且每个任务都需要创建新线程,那么线程创建的时间会延长任务的响应时间。 管理复杂: 大量线程的并发执行难以有效管理,容易出现线程死锁、资源竞争等问题,且难以进行统一的资源分配和控制。 线程数限制: 系统对可同时运行的线程数量有限制,过多的线程会导致系统资源耗尽,甚至崩溃。 为了解决这些问题,Java 提供了线程池(Thread Pool)的概念。