项目使用线程池_Java线程池的四种用法与使用场景

本文探讨了Java线程池的重要性和使用线程池带来的优势,详细介绍了线程池的四种主要类型:newCachedThreadPool、newFixedThreadPool、newScheduledThreadPool和newSingleThreadExecutor,分别阐述了它们的特性、适用场景及优缺点,以帮助开发者更好地理解和应用线程池。
摘要由CSDN通过智能技术生成
来源公众号一个程序员的成长 ,作者小涛

一、如下方式存在的问题

new Thread() { @Override public void run() { // 业务逻辑 }}.start();

1、首先频繁的创建、销毁对象是一个很消耗性能的事情;

2、如果用户量比较大,导致占用过多的资源,可能会导致我们的服务由于资源不足而宕机;

3、综上所述,在实际的开发中,这种操作其实是不可取的一种方式。

二、使用线程池有什么优点

1、线程池中线程的使用率提升,减少对象的创建、销毁;

2、线程池可以控制线程数,有效的提升服务器的使用资源,避免由于资源不足而发生宕机等问题;

三、线程池的四种使用方式

1、newCachedThreadPool

创建一个线程池,如果线程池中的线程数量过大,它可以有效的回收多余的线程,如果线程数不足,那么它可以创建新的线程。

b39c90cd80e7f46fc8cabe03863d0937.png

执行结果

be918e86e2a6219978edf051996cf4a8.png

通过分析我看可以看到,至始至终都由一个线程执行,实现了线程的复用,并没有创建多余的线程。

如果当我们的业务需要一定的时间进行处理,那么将会出现什么结果。我们来模拟一下。

0fb85e38ea6770809681fcb1f5001b5b.gif

可以明显的看出,现在就需要几条线程来交替执行。

不足:这种方式虽然可以根据业务场景自动的扩展线程数来处理我们的业务,但是最多需要多少个线程同时处理缺是我们无

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值