- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第17讲线和Win2008新线
1.线基础知识
2.异步调用队列
3.内核对象等待回调队列
4.定时回调队列
5.完成端口回调队列
6.回调队列型线的缺陷
7.Win2008新线及用法
8.GRSLib中线部分的封装
引言
❖多核硬件平台的普及,使得多线程应用再次成为开发的
热点领域
❖在Windows平台上,创建多线程应用也是非常方便的
事情
❖而很多应用却由于过多的创建了线程而导致性能下降
❖也有很多应用通过打造自己的线机制来高效利用
系统资源
❖在Windows平台上为我们提供了集成在系统内核中的
线功能
❖可以通过API的方法直接利用系统提供的线功能
❖在Win2008以上平台中,使用一组新的线API替换
了原有的线API,并且功能更加丰富
什么是线
❖与内存池本意类似,线其实就是通过提前创建好一
些线程组成一个池,而在需要时直接从池中取用
❖从上述描述中可以看出,线在一定程度上节约了反
复创建和销毁线程的开销
❖可以根据这个原理自行设计线并可通过信标量对
象控制最大可同时执行的线程数)
❖另外在Windows系统中提供了系统级的线对象及
相应的API
为什么使用线
❖在Windows系统中创建和销毁线程本身是一个耗时的操作
❖对于一些服务应用来说,很多时候需要处理的客户请求往往是短小
的任务
❖很多时候为了提高服务应用的响应能力,通常通过多线程的方式来
执行这些任务
❖但是这中间就会过于频繁的创建和销毁线程,这造成了系统性能的
严重浪费
❖而另一方面如果过度的创建了线程(如几千几万个),也会因为频繁
的在不同的线程间来回切换而造成系统性能下降(一次切换大约需
要一千多条机器指令/周期)
❖以创建一千个线程计算,假设一个机器指令需要1ns(1GHZ)来执
行,那么一千多条指令大约需要1000*1ns=1us,而调度一遍所有
1千个线程则需要1000*1us=1ms,这相当于将至强系列CPU通
过低效的软件变成了手掌计算器(实际情况比这个更糟糕)
❖而通过恰当的使用线则可以避免上述的性能问题
Windows线的特性
❖线一般都具有动态调整线程数量的自主行为(称为
伸缩性)
❖通过将任务封装为回调函数的形式,将任务添加到线程
池中,由线选择合适的线程调用之,从而实现任务
的执行
❖调用者不用关心线中的线程创建与销毁工作
,Windows有处理
❖Windows线的使用在一定程度上还简化了多线程
程序设计的难度,使开发人员集中精力到线程本身的执
行逻辑上,而不是何时创建何时销毁等问题上
❖Windows线在实现上实际使用了IOCP对象
Windows内置线
❖从Windows2000起,微软公司在Windows平台中内置了一些线
的功能,以方便开发人员对线程的使用和管理
❖从功能目标上区分大概可以分为下面4种:
◼普通线
◼同步对象等待回调线
◼定时器回调线
◼完成端口回调线
❖这些线的最大特点就是需要提供一个由线中线程调用的
回调函数,当条件满足时,回调函数就会被线调用
❖从设计的角度来说,这样的设计大大简化了应用程序考虑多线程设
计时的难度,此时只需要考虑回调函数中的处理逻辑和被调用的条
件即可,而不必考虑线程的创建销毁等等问题(一些设计还可以绕
开繁琐的同步处理)
❖需要注意的就是一般不要在这些回调函数中设计处理类似UI消息
循环那样的循环,即不要长久占用线中的线程
传统Windows线及API
❖下表展示了传统的线对象和对应的API,因为它们比较古老,
所以兼容性上比较有优势,同时这些古老方法都太简单了(简单的
有点简陋)
线对象API
您可能关注的文档
- 模组技术规格修订.pdf
- 案例雷诺纳综合.pdf
- 黄沙铺示意图晨光村地块.pdf
- 星球学习内容人们如何何时进入太空旅行重要机器例如光盘tn glubb.pdf
- 显示器技术屏配板屏定义itsx94.pdf
- 分类深度学习技术斯瓦亚姆阅读分钟复杂数据案例.pdf
- 剧本杀行业人才培训课程体系构建与评估报告.docx
- 剧本杀行业人才培训课程设计与优化研究.docx
- 剧本杀行业内容创新与规范:2025年创作指南报告.docx
- 剧本杀行业人才培训项目创新与行业竞争力研究.docx
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 手术室人员行为管理与规范.pptx VIP
- 2025年呼和浩特市土默特左旗社区工作者招聘考试试题 .pdf VIP
- 卫生院优质服务基层行创建资料(1.1.2主要任务).docx VIP
- 2025年教职工疗休养服务项目212页.docx VIP
- 2025年内蒙古自治区中考语文试题卷(含答案解析).docx
- 中学生英才计划面试常见问题.docx VIP
- 社会组织矛盾纠纷排查化解工作总结.pptx VIP
- 近十年管综数学真题.pdf VIP
- 13、安放式支管台组对焊接.pptx VIP
- SIEMENS西门子 SIMATIC ET 200SP 电机启动器 (3RK1308‑0..00‑0CP0)设备手册.pdf VIP
文档评论(0)