线程池的执行流程和拒绝策略

ThreadPoolExecutor的一种构造方法

参数: corePoolSize (最大核心线程数)

参数: maximumPoolSize (最大线程数)

参数: keepAliveTime (允许非核心线程的最大空闲时间,如过当前线程数超过最大核心线程数且某些空闲线程的空闲时间超过允许的最大空闲时间则会被销毁) 

参数: unit (空闲时间的单位)

参数: workQueue (手动给线程池传入一个任务队列,如果不传入,则内不会创建一个任务队列)

参数: threadFactory (描述了线程是如何创建的.工厂对象就负责创建线程,可以手动设定创建线程的策略)

参数: handler (拒绝策略)

线程池的执行流程

 Java标准库中自带的拒绝策略

①: 中止策略,线程池会抛出异常并中止执行此任务

举个栗子: 当领导给一个员工安排任务时,此时员工手中的工作已经做不过来了,员工就会崩溃,罢工开摆!

②: 把任务交给添加此任务的线程来执行

举个栗子: 当领导给员工安排任务时,员工说: 我做不过来了.你自己来做吧! 如果这项工作领导能够做就正常执行,如果做不了这项任务就会被丢弃!

③: 忽略最早加入队列的任务

举个栗子:当领导给一个已经有三个任务(任务1,任务2,任务3)在手的员工再安排一个任务4时候, 这个员工就会丢弃任务1,来执行任务4

④: 忽略最新加入的任务

举个栗子:当领导给一个已经有三个任务(任务1,任务2,任务3)在手的员工再安排一个任务4时候, 这个员工就会丢弃任务4,继续按照原来的进度执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值