核心线程数:(线程池队列为LinkedBlockingQueue)
要执行的任务数< 核心线程数,则不会进入队列,而是创建新的线程
要执行的任务数 > 核心线程数,并且等待队列未满,则进入等待队列;
要执行的任务数 > 核心线程数,并且 < 最大连接数 并且 等待队列已满,则创建新线程;
要执行的任务数 > 核心线程数,并且 > 最大连接数 并且 等待队列已满,则调用拒绝策略来处理该任务(抛异常)
1、线程执行完任务后不会直接关闭,接着去执行等待队列中的任务,如果没有任务可执行,则空闲配置keepAlive的时间,如果到了时间则关闭;
2、线程的等待队列(LinkedBlockingQueue)默认值是Integer的最大值;可以自定义队列大小;
3、线程池参数参照:
4、线程池选择
java线程池配置详解_itafeng的博客-CSDN博客_java线程池配置
5、Executor接口里面定义了一些常用的线程池,可以直接使用;