Java可以通过Executors创建四中线程池,分别为:
1.newCachedThreadPool
创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,
则新建线程;
2.newFixedThreadPool
创建一个定长线程池,可控制线程最大并发数,超出的线程会在你队列中等待
线程池的大小一旦达到最大值就会保持不变,如果某个线程因为执行异常而结束,
那么线程池会补充一个新线程。
3. newScheduledThreadPool
创建一个定长的线程池,支持定时即周期性任务执行
4.newSingleThreadPool
创建一个单线程化的线程池,它只会用唯一 的工作线程来执行任务,保证所有
任务按照指定顺序(FIFO)执行,如果这个唯一的线程因为异常结束,那么
会有一个新的线程来替代它。此线程池保证所有任务的执行顺序按照任务的提交顺序执行