有哪几种常见的线程池
在Java中,常见的线程池类型主要有四种,都是通过工具类Excutors创建出来的。
- newFixedThreadPool (固定数目线程):该线程池具有固定的线程数,当提交的任务超过线程池大小时,会将任务放入队列等待执行
- newCachedThreadPool (可缓存线程):该线程池的线程数不定,当线程池中有空闲线程时,会直接使用空闲线程,否则会创建新的线程执行任务。适用于执行大量短生命周期的异步任务。
- newSingleThreadExecutor (单线程):该线程池只有一个线程,在该线程执行任务的过程中,其他任务都会在队列中等待执行。
- newScheduledThreadPool (定时及周期执行):该线程池可以执行定时任务和周期性任务,也可以提交普通的异步任务。
需要注意阿里巴巴《Java开发手册》里禁止使用这种方式来创建线程池。