预定义线程池 | 特点 | 适用场景 |
FixedThreadPool | 1、固定线程数; 2、多余的空闲线程立马终止 | 负载较重场景,即资源较少的场景 |
SingleThreadExecutor | 1、只要一个线程执行 2、保证任务执行顺序,上一个 任务执行完毕,下一个才会执行 | 保证任务的执行顺序 |
CachedThreadPool | 1、使用无界队列 2、没有空闲线程时, 来一个任务创建一个队列 3、60秒回收空闲线程 | 1、执行很多短期异步任务 2、负载很轻的服务器(即服务器 资源很充足) |
ScheduledThreadPoolExecutor | 1、周期执行多个任务 | 1、周期执行多个任务 |
SingleThreadScheduledExecutor | 1、顺序执行一个任务 2、周期执行一个任务 | 1、顺序执行周期任务 |
测试demo请参考以下链接
6.5.1 java预定义线程池FixedThreadPool理解、使用示例
6.5.2 java预定义线程池SingleThreadExecutor 理解、使用示例
6.5.3 java预定义线程池CachedThreadPool 理解、使用示例
6.5.4 java预定义线程池ScheduledThreadPoolExecutor 理解、使用示例