当任务提交到线程池时,线程池会按照以下步骤执行:
1、判断提交当前线程池中的线程数量是否小于核心线程数
如果是,创建新线程执行任务。如果不是,进入下一步骤。
前5个任务会直接创建核心线程,核心线程数=5,余下505。
2、判断工作队列是否已满
如果未满,将任务添加到队列中等待执行。如果已满,进入下一步骤。
从余下505取500个放入队列,队列满,余下5个。
3、判断提交当前线程池中的线程数量是否小于最大线程数
如果是,创建新线程执行任务。如果不是,进入下一步骤。
最大线程数20,因此该步骤能创建20-5(核心线程数)=15个新线程。最后余下10个线程。
4、执行拒绝策略
只有如果当前线程数达到最大线程数,且工作队列满,执行拒绝策略处理新提交的任务。所以,不会执行拒绝策略。
线程池核心线程数5,最大线程数20,工作队列500,问进来510个任务是否会执行拒绝策略?
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 不同修饰符使用细节 常用来修饰类、方法、变量的修饰符 public 权限修饰符,公共访问, 类,方法,成员变量 p...
- 形参和返回值 类名作形参 类名作返回值 抽象类名作形参(要利用其子类) 抽象类名作返回值(要利用其子类) 接口名作...
- 一.函数基础 1.什么是函数 2.函数的两个阶段 1.函数的定义 a)有参函数定义 在函数定义阶段括号内有参数,称...
- Kotlin 知识梳理系列文章 Kotlin 知识梳理(1) - Kotlin 基础Kotlin 知识梳理(2) ...