线程池种类和拒绝策略

1、newCachedThreadPool():可缓存的线程池,核心线程数量为0,最大线程数量为INT_MAX。阻塞队列不存储元素。线程空闲时间超过60秒被回收。适合处理大量小任务。
2、newFixedThreadPool()。固定线程个数的线程池,线程都是核心线程,没有应急线程。适合处理量少计算量大的任务。任务队列为有界队列
3、newScheduledThreadPool。核心线程数固定,最大线程数为INT_MAX,空闲线程会立即回收。任务队列为有界队列
4、newSingleThreadPool,线程池里面只有一个线程,任务队列没有大小限制。任务队列为有界队列

拒绝策略
核心线程都被占用,再来任务就会放到任务队列(阻塞队列),任务队列满了以后会创建应急线程来处理这个任务,如果线程到达最大线程数,就会触发拒绝策略
1、终止策略
抛出RejectedExecutionException异常。

2、调用者运行策略
由提交任务的这个线程运行

3、丢弃最早未处理请求策略
丢弃最先进入阻塞队列的任务以腾出空间让新的任务入队列

4、丢弃策略,什么都不做,即丢弃新提交的任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值