Java多线程(四)-线程池
参考文献
Java 线程池必备知识点:工作流程、常见参数、调优、监控
以面试官视角万字解读线程池10大经典面试题!
线程池
合理使用线程池的好处
降低资源消耗.
通过重复利用已经创建的线程降低线程创建的和销毁造成的消耗.例如,工作线程Woker会无线循环获取阻塞队列中的任务来执行.
提高响应速度.
当任务到达时,任务可以不需要等到线程创建就能立即执行.
提高线程的可管理性.
线程是稀缺资源,Java的线程池可以对线程资源进行统一分配、调优和监控.
实现线程池
一般的线程池主要分为以下4个组成部分
线程池管理器:用于创建并管理线程池
工作线程:线程池中的线程
任务接口:每个任务必须实现的接口,用于工作线程调度其运行
任务队列:用于存放待处理的任务,提供一种缓冲机制
自定义拒绝策略接口
1234@FunctionalInterfacepublic interface RejectPolicy<T> { void reject(BlockingQueue<T> queue, T task);}
...