1. CachedThreadPool线程池(可向下转换为ThreadPoolExecutor )1.1 线程池核心线程数是0,说明线程空闲时,会被自动回收。
1.2 任务队列只能有一个任务,而且最大线程数是整数最大值。所以有任务就会创建线程处理,这就要求任务执行时间要短,不然会创建很多线程
2 .固定thread pool线程池(可向下转换为ThreadPoolExecutor )2.1 核心线程数和最大线程数相等,不存在线程回收
3. SingleThreadExecutor线程池3.1 只能创建一个线程的SingleThreadExecutor线程池和线程的区别
3.2 线程池中唯一的线程发生异常结束,线程池会再创建一个线程
4. WorkStealingPool线程池(可向下转换为ForkJoinPool )4.1 本质是ForkJoinPool
4.2 最大的特点之一:线程可以悬挂当前任务,从任务队列执行子任务
4.3 最大的特点之二:从自己队列按LIFO后入先出方式拿取任务,然后会从其它线程的工作队列按FIFO先入先出方式"窃取"任务
5. ScheduleThreadPoolExecutor线程池5.1 任务执行时间很长时,不能保证周期性执行
5.2 不支持回调