当在方法中提交了一个新任务
execute(java.lang.Runnable)
,并且运行的线程少于corePoolSize
线程时,即使其他工作线程处于空闲状态,也会创建一个新线程来处理该请求。
1)如果有空闲线程,为什么需要创建一个新线程来处理请求?
如果运行的线程多于
corePoolSize
但少于maximumPoolSize
线程数,则仅当队列已满时才会创建一个新线程。
corePoolSize
2)我不明白和maximumPoolSize
这里的区别。其次,当线程少于 时,队列怎么会满maximumPoolSize
?只有线程数等于或大于 时,队列才能满maximumPoolSize
。不是吗?