Java常见的线程池

  在开发过程中我们常常需要使用到多线程来提高我们代码处理某些任务的效率,最基本的两种创建多线程的方式分别是继承Thread类和实现Runnable接口。但是创建线程和销毁线程的系统开销比较大,而且过多的线程会占用过多的内存等资源。在《阿里巴巴Java开发手册》中也提示我们“线程资源必须通过线程池提供,不允许在应用中自行显式创建线程”。所以我们引入了线程池。

一、常见的5种线程池分别是:

    1、FixedThreadPool,它的核心线程数和最大线程数是一样的,可以把它看成是固定线程数的线程池;

    2、CachedThreadPool,可以把它叫做可缓存线程池,它的特点是线程数可以持续增加(理论最大可达Integer.MAX_VALUE=2^31-1);

    3、ScheduledThreadPool,它支持定时或周期性的执行任务,有3个方法可以灵活的执行频率配置参数;

    4、SingleThreadExecutor,它会使用唯一的线程去执行任务,适用于所有任务都需要按照被提交的顺序依次执行的场景;

    5、SingleThreadScheduledExecutor,它和SingleThreadExecutor有些类似,它的核心线程数是1,但是最大线程数是Integer.MAX_VALUE。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java Spring Boot线程池是Spring框架提供的一种用于管理和调度线程的机制。它可以帮助我们更好地管理并发任务,提高系统的性能和稳定性。 在Spring Boot,我们可以通过配置来创建和使用线程池。以下是Java Spring Boot线程池的一些重要概念和配置选项: 1. 线程池类型: - FixedThreadPool:固定大小的线程池,线程数量固定不变。 - CachedThreadPool:可缓存的线程池,根据需要创建新线程,空闲线程会被回收。 - ScheduledThreadPool:定时任务线程池,用于执行定时任务。 - SingleThreadExecutor:单线程的线程池,只有一个工作线程。 2. 核心参数配置: - corePoolSize:核心线程数,线程池始终保持的活动线程数量。 - maxPoolSize:最大线程数,线程池允许的最大线程数量。 - keepAliveTime:线程空闲时间,超过该时间的空闲线程会被回收。 3. 任务队列: - workQueue:任务队列,用于存放等待执行的任务。常见的队列类型有ArrayBlockingQueue、LinkedBlockingQueue等。 4. 拒绝策略: - 当任务无法被线程池接收时的处理策略。常见的策略有AbortPolicy(默认,抛出异常)、CallerRunsPolicy(使用调用者线程执行任务)、DiscardPolicy(直接丢弃任务)等。 5. 创建线程池: - 在Spring Boot,我们可以通过使用ThreadPoolTaskExecutor类来创建线程池。可以通过配置文件或者编程方式进行配置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值