ThreadPoolExecutor通常使用Executors来创建。Executor可以创建3种类型的ThreadPoolExecutor:SingleThreadExecutor、FixedThreadPool、CacheThreadPool。
下面分别简单介绍这3种ThreadPoolExecutor。
1、FixedThreadPool。创建使用固定线程数的FixedThreadPool。适用于为了满足资源管理的需求,而需要限制当前线程数量的应用场景,它适用于负载均衡比较重的服务器。
2、SingleThreadExecutor。创建使用单个线程的SingleThreadExecutor。使用于需要保证顺序地执行各个任务;并且在任意时间点,不会有多个线程是活动的应用场景。
3、CacheThreadPool。会根据需要创建新线程,是大小无界的线程池,适用于执行很多的短期异步任务的小程序,或者是负载较轻的服务器。