- 3
- 0
- 约1.9万字
- 约 13页
- 2017-10-02 发布于湖北
- 举报
线程池原理及创建并C++实现
本文给出了一个通用的线程池框架,该框架将与线程执行相关的任务进行了高层次的抽象,使之与具体的执行任务无关。另外该线程池具有动态伸缩性,它能根据执行任务的轻重自动调整线程池中线程的数量。文章的最后,我们给出一个简单示例程序,通过该示例程序,我们会发现,通过该线程池框架执行多线程任务是多么的简单。
为什么需要线程池
目前的大多数网络服务器,包括Web服务器、Email服务器以及数据库服务器等都具有一个共同点,就是单位时间内必须处理数目巨大的连接请求,但处理时间却相对较短。
传统多线程方案中我们采用的服务器模型则是一旦接受到请求之后,即创建一个新的线程,由该线程执行任务。任务执行完毕后,线程退出,这就是是“即时创建,即时销毁”的策略。尽管与创建进程相比,创建线程的时间已经大大的缩短,但是如果提交给线程的任务是执行时间较短,而且执行次数极其频繁,那么服务器将处于不停的创建线程,销毁线程的状态。
我们将传统方案中的线程执行过程分为三个过程:T1、T2、T3。
T1:线程创建时间
T2:线程执行时间,包括线程的同步等时间
T3:线程销毁时间
那么我们可以看出,线程本身的开销所占的比例为(T1+T3) / (T1+T2+T3)。如果线程执行的时间很短的话,这比开销可能占到20%-50%左右。如果任务执行时间很频繁的话,这笔开销将是不可忽略的。
除此之外,线程池能够减
您可能关注的文档
- 闲暇时光临时收集资料探究.doc
- 咸味“和而不流探究.doc
- 咸阳市2013-2014学年度第二学期期末教学质量检测高二物理试题探究.doc
- 咸阳市2015-2016学年度第一学期期末质量检测高一物理试题(卷)与答案探究.doc
- 咸阳市日月星城浅井井房及怡心岛回灌井井房施工项目施工资料探究.doc
- 显卡发展历史浅谈探究.doc
- 显著性检验卡方检验等探究.doc
- 县域电子商务平台项目实施方案探究.doc
- 现把国学知识竞赛复习提纲探究.doc
- 现场安全管理.探究.doc
- 2026河南新乡卫辉市航运站招聘备考题库及参考答案详解.docx
- 2026-2031黑色皮衣行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026-2031花生酱行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026江苏省苏州中学校第二批高层次优秀毕业生招聘5人备考题库附答案详解(突破训练).docx
- 2026江苏南京航空航天大学金城学院招聘备考题库及答案详解(各地真题).docx
- 2026江苏苏州大学科研助理岗位招聘7人备考题库完整参考答案详解.docx
- 2026-2031加厚围巾行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2026浙江台州市仙居县公安局警务辅助人员招聘31人备考题库及答案详解(名校卷).docx
- 2026浙江台州市城乡规划设计研究院有限公司招聘12人备考题库及答案详解(有一套).docx
- 2026江西南昌市社会福利院招聘备考题库及答案详解(各地真题).docx
原创力文档

文档评论(0)