Java 线程池

49 阅读1分钟

线程池的基本原理 Java线程池是通过java.util.concurrent包中的Executor框架实现的。最常用的线程池实现是ThreadPoolExecutor。它的工作原理就像一个高度组织化的包子铺:

核心线程数(corePoolSize):线程池中始终保持的最少线程数。即使这些线程是空闲的,也不会被销毁。 最大线程数(maximumPoolSize):线程池中允许的最大线程数。当活跃线程数达到这个值后,新的任务将会被拒绝,除非有空闲线程。 任务队列(workQueue):当所有核心线程都在忙碌时,新任务会被放入这个队列等待执行。 线程工厂(threadFactory):用于创建新线程,可以自定义线程的属性,比如名称、优先级等。 拒绝策略(handler):当任务太多而无法处理时,采取的策略。比如直接丢弃任务、抛出异常、或是交给其他线程池处理。