线程池的参数以及分类

6 篇文章 0 订阅
4 篇文章 0 订阅

线程池的参数

我们阅读线程池的源码可知,线程池有四个构造方法,共有7个参数供我们学习。

  1. corePoolSize:最大核心线程数:当创建的线程数小于该数时,该线程为核心线程,反之为非核心线程。
    核心线程:即使核心线程处于闲置状态,系统仍不必将它销毁。
  2. maximumPoolSize:最大线程数:当线程总数等于最大线程数的时候,如果再创建线程则会抛出异常。
  3. keepAliveTime:非核心线程超时时长:当非核心线程闲置超过此时长后,就会被系统销毁。
  4. nuit:超时时长的单位:该类型是一个枚举类型,天、时、分、秒、毫秒、微秒、微豪秒。
  5. warkQueue:执行Runnable方法的队列。
  6. threadFactory:用于创建线程。
  7. handle:用于抛出异常。

线程池的执行策略

  1. 当一个任务被添加进线程池后会判断当前线程数是否达到最大核心线程,如果达到最大核心线程,该线程被移至队列等待。
  2. 若队列已满就会新建一个非核心线程。
  3. 若线程总数大于最大线程数,就会抛出异常。

线程池的种类

线程池有四纵,通常这四种可以满足我们大部分的需求:

  1. CachedThreadPool
    创建一个可缓存线程池,可以灵活回收空闲线程。
  2. FixedThreadPool
    创建一个定长线程池,可以控制最大并发线程。
  3. ScheduledThreadPool
    创建一个定长线程池,可以支持定时和周期执行任务。
  4. SingleThreadPool
    创建一个单线程线程池,后续线程以队列的形式执行。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值