自定义线程池ThreadPoolExecutor详解
参考资料(阿里巴巴java开发手册嵩山版): https://developer.aliyun.com/topic/java20
参考资料:https://blog.csdn.net/ming1215919/article/details/114799184
线程池
线程池的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,那么超出数量的线程排队等候,等其他线程执行完毕再从队列中取出任务来执行。
在开发过程中,合理地使用线程池能够带来3个好处:
-
**降低资源消耗。**通过重复利用已创建的线程降低线程创建和销毁造成的消耗;
-
**提高响应速度。**当任务到达时,任务可以不需要等到线程创建就能立即执行;
-
**提高线程的可管理性。**线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。