什么是线程池,如何使用,为什么要用

什么是线程池,如何使用,为什么要用,第1张

线程池,thread pool,是一种线程使用模式,线程池维护着多个线程,等待着监督管理者分配可并发执行的任务

功能:应用程序可以有多个线程,这些线程在休眠状态中需要耗费大量时间来等待事件发生。其他线程可能进入睡眠状态,并且仅定期被唤醒以轮循更改或更新状态信息,然后再次进入休眠状态。

为了简化对这些线程的管理,NET框架为每个进程提供了一个线程池,一个线程池有若干个等待 *** 作状态,当一个等待 *** 作完成时,线程池中的辅助线程会执行回调函数。线程池中的线程由系统管理,程序员不需要费力于线程管理,可以集中精力处理应用程序任务。

扩展资料:

应用范围

1、需要大量的线程来完成任务,且完成任务的时间比较短。 WEB服务器完成网页请求这样的任务,使用线程池技术是非常合适的。因为单个任务小,而任务数量巨大,你可以想象一个热门网站的点击次数。 但对于长时间的任务,比如一个Telnet连接请求,线程池的优点就不明显了。因为Telnet会话时间比线程的创建时间大多了。

2、对性能要求苛刻的应用,比如要求服务器迅速响应客户请求。

3、接受突发性的大量请求,但不至于使服务器因此产生大量线程的应用。突发性大量客户请求,在没有线程池情况下,将产生大量线程,虽然理论上大部分 *** 作系统线程数目最大值不是问题,短时间内产生大量线程可能使内存到达极限,并出现"OutOfMemory"的错误。

参考资料来源:百度百科—线程池

考虑任务的类型, 如果是计算量小,任务数量大的应用情况的话, 应用多个线程(线程池)比较合适
如果是单个任务计算量大,任务数量不算太多的话,用多个进程(进程数量不要太多,几十个以上就考虑增加线程了)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10498169.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-09
下一篇2023-05-09

发表评论

登录后才能评论

评论列表(0条)

    保存