【Linux】线程池

线程池:

一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。

线程池的应用场景:
  1. 需要大量的线程来完成任务,并且完成任务的时间比较短。WEB服务器完成网页请求这样的任务,使用线程计数是非常合适的。因为单个任务小,而任务数量巨大,比如淘宝网站的点击次数。但是对于长时间的任务,如一个Telnet请求,线程池的优点就不明显了。因为Telnet会话时间比线程的创建时间大多了。
  2. 对性能要求苛刻的应用,比如要求服务器迅速响应客户的请求。
  3. 接收突发性的大量请求,但是不至于使服务器因此产生大量的线程的应用。突发性大量客户请求,在没有线程池的情况下,将产生大量的线程,虽然理论上大部分操作系统线程数目最大值不是问题,短时间内产生大量线程可能使内存达到极限,出现错误。
线程池实例:
  1. 创建固定的线程池,循环从任务队列中获取任务对象
  2. 获取到任务对象后,执行任务对象中的任务接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值