JAVA 线程池工作原理流程图 & 源码概览
2022-02-22 11:30:48 0 举报
JAVA 线程池工作原理流程图 & 源码概览
作者其他创作
大纲/内容
饱和策略
ThreadPoolExecutor一共有四个构造函数,七个可配参数,分别是 corePoolSize: 线程池中保持存活线程的数量。 maximumPoolSize: 线程池中允许线程数量的最大值 keepAliveTime: 表示线程没有任务执行时最多保持多久时间会终止 unit: 参数keepAliveTime的时间单位 workQueue: 一个阻塞队列,用来存储等待执行的任务 threadFactory: 线程工厂,主要用来创建线程 handler:表示当拒绝处理任务时的策略
线程池是否已满
是
创建非核心线程执行任务
创建核心线程执行任务
核心线程池是否已满
线城池的饱和策略事件,主要有四种类型AbortPolicy(抛出一个异常,默认的)DiscardPolicy(新提交的任务直接被抛弃)DiscardOldestPolicy(丢弃队列里最老的任务,将当前这个任务继续提交给线程池)CallerRunsPolicy(交给线程池调用所在的线程进行处理,即将某些任务回退到调用者)
任务添加到队列
否
线程池工作原理流程图 & 源码概览
提交任务
队列是否已满
0 条评论
回复 删除
下一页