线程池总结

我只是一个虾纸丫 提交于 2019-12-05 02:24:47

1、主要参数说明

    corepoolsize核心线程数、maxpoolsize最大线程数、keepalivetime闲置线程收回时间设置、workQueue工作队列(synchronizeQueue、LinkedBlockingQueue、ArrayListBlockingQueue)、unit设置keepalivetime是以秒、分钟为单位、threadFactory创建线程工厂。

2、执行顺序

    如果工作队列选择的是LinkedBlockingQueue,线程池中的线程数达到corepoolsize核心线程数后,会将任务放入到队列中,如果队列满了,会继续创建线程,达到maxpoolsize最大线程数后,可以选择几种策略处理,抛异常拒绝新任务、丢弃新任务或者挤占已有任务。

    如果LinkedBlockingQueue设置是无边界,则maxpoolsize设置无效。

    如果工作 队列是synchronizeQueue,线程池中的线程数达到corepoolsize核心线程数后会继续创建线程,超过设置的最大线程数后报错。

3、newFixedThreadPoolnewSingleThreadExector使用的是LinkedBlockingQueue的无界模式

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!