1、主要参数说明
corepoolsize核心线程数、maxpoolsize最大线程数、keepalivetime闲置线程收回时间设置、workQueue工作队列(synchronizeQueue、LinkedBlockingQueue、ArrayListBlockingQueue)、unit设置keepalivetime是以秒、分钟为单位、threadFactory创建线程工厂。
2、执行顺序
如果工作队列选择的是LinkedBlockingQueue,线程池中的线程数达到corepoolsize核心线程数后,会将任务放入到队列中,如果队列满了,会继续创建线程,达到maxpoolsize最大线程数后,可以选择几种策略处理,抛异常拒绝新任务、丢弃新任务或者挤占已有任务。
如果LinkedBlockingQueue设置是无边界,则maxpoolsize设置无效。
如果工作 队列是synchronizeQueue,线程池中的线程数达到corepoolsize核心线程数后会继续创建线程,超过设置的最大线程数后报错。
3、newFixedThreadPool和newSingleThreadExector使用的是LinkedBlockingQueue的无界模式