线程池核心线程数5,最大线程数20,工作队列500,问进来510个任务是否会执行拒绝策略?

 当任务提交到线程池时,线程池会按照以下步骤执行:
  1、判断提交当前线程池中的线程数量是否小于核心线程数
   如果是,创建新线程执行任务。如果不是,进入下一步骤。
   前5个任务会直接创建核心线程,核心线程数=5,余下505。
  2、判断工作队列是否已满
   如果未满,将任务添加到队列中等待执行。如果已满,进入下一步骤。
   从余下505取500个放入队列,队列满,余下5个。
  3、判断提交当前线程池中的线程数量是否小于最大线程数
   如果是,创建新线程执行任务。如果不是,进入下一步骤。
   最大线程数20,因此该步骤能创建20-5(核心线程数)=15个新线程。最后余下10个线程。
  4、执行拒绝策略
   只有如果当前线程数达到最大线程数,且工作队列满,执行拒绝策略处理新提交的任务。

 所以,不会执行拒绝策略。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容