[ Java ]中的线程池工作原理,为什么不是先创建线程而是先往阻塞队列里塞任务?

10次阅读

共计 159 个字符,预计需要花费 1 分钟才能阅读完成。

假设核心线程数为 n, 最大线程数为 m。线程池创建后,就提交了 n 个任务且这 n 个任务一直在执行,没有结束。此时再提交一个任务就会塞到任务队列里。我的疑问是 新提交的这个任务为什么不是创建一个新的线程执行?。线程池不是应该首先要保证任务完成吗?

现在的逻辑是 ” 先判断任务队列是否满再判断是否达到最大线程数 ”, 这样设计有什么优点呢?

正文完
 0