线程池,及7大参数,4大拒绝策略详解

线程池,及7大参数,4大拒绝策略详解

线程的生命周期有:创建、就绪、运行、阻塞、死亡。在阿里的Java开发手册中,规定是不允许我们自己创建线程的,要用线程池来管理。

image-20231205190947316

线程池是一种用于管理和重用线程的机制,它可以帮助提高多线程应用程序的性能和效率。线程池在多线程编程中广泛使用,可以控制并发线程的数量,减少线程创建和销毁的开销。

1.线程池的种类

序号种类场景
1.SingleThreadExecutor单线程线程池,适用于需要保证顺序执行的场景
2.FixedThreadExecutor固定大小线程池,适用于负载比较重的长期任务
3.CachedThreadPool可缓存线程池,适用于执行大量的短期异步任务的场景
4.ScheduledThreadPool定时任务线程池,适用于需要定时执行任务的场景

以上就是一些基础的线程池的种类了,在实际的开发中我们也可以使用ThreadPoolExecutor来自定义我们的线程池。

2.自定义线程池的参数

上面我们有提到说可以自定义我们的线程池,那么就来列出七个需要的线程池的参数

序列参数名含义
1.corePoolSize核心线程数
2.maximumPoolSize最大线程数(必须大于核心线程数)
3.keepAliveTime空闲线程的存活时间
4.Unit时间单位
5.workQueue用于存放任务的队列
6.threadFactory线程工厂、用来创建新线程
7.handler处理

3.代码实现

4.四大拒绝策略

在线程池中,当任务提交到线程池执行时,如果线程池无法接受新任务,就会采取一种拒绝策略来处理。Java 中的ThreadPoolExecutor 提供了四种默认的拒绝策略,你可以在构造线程池时选择其中一种,也可以自定义拒绝策略。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值