什么是线程池:
java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池
为什么使用线程池
在说线程池之前,我们不得不提下线程。为什么有了线程还需要使用线程池技术呢?下面我们简单的了解下。
1. 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率
例如:
创建线程消耗时间T1
执行任务消耗时间T2
销毁线程消耗时间T3
如果T1 + T3 远大于 T2,那么是不是说开启一个线程来执行这个任务代价有点大
2.线程并发数量过多,抢占系统资源从而导致阻塞
线程能共享系统资源,如果同时执行的线程过多,就有可能导致系统资源不足而产生阻塞的情况
3.对线程进行一些简单的管理
比如:延时执行、定时循环执行的策略