为什么要使用线程池?

项目中一直在使用线程池,平时却很少问自己:为什么要使用线程池,当别人问起为什么的时候,脑子一片茫然。所以最近研究了一下为什么?顺便摘录了一些网友的回答

1.一个线程的周期分为:创建、运行、销毁三个阶段。 
处理一个任务时,首先创建一个任务线程,然后执行任务,完了,销毁线程。而线程处于运行状态的时候,才是真的在处理我们交给它的任务, 
这个阶段才是有效运行时间。所以,我们希望花在创建和销毁线程的资源越少越好。如果不销毁线程,而这个线程又不能被其他的任务调用,那么就会出现资源的浪费。 为了提高效率,减少创建和销毁线程带来时间和空间上的浪费,出现了线程池技术。这种技术是在开始就创建一定量的线程,批量处理一类任务,等待任务的到来。 任务执行完毕后,线程又可以执行其他的任务。等不再需要线程的时候,就销毁。这样就省去了频繁创建和销毁线程的麻烦。

 2.线程池是资源在线程应用中的一个实例,首先要了解一下资源池的概念,这里以java语言为例说明,创建和销毁临时对象是比较消耗资源的。当失去引用的临时对象较多时,虚拟机会进行垃圾回收(GC),而GC占有CPU,如果频繁GC,你的程序响应性会降低。资源池就是来解决这个问题,当你需要使用对象时。从资源池来获取,资源池负责维护对象的生命周期,线程池就是存放对象的资源池。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值