Win32异步I/O设计与实现

来源 :大连理工大学 | 被引量 : 0次 | 上传用户:bqrxbqrx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文分析了Win32异步I/O的基本模式,利用异步I/O非阻塞的特点,提出了在一个线程内并发完成多个异步I/O的方法。在此基础上,为了更好地实现任务的分工,本文提出了多线程的异步I/O模型。该模型将任务分为两个基本部分,分别由主线程和工作者线程负责处理,其中主线程管理人机交互界面,而工作者线程专门在后台处理多路输入输出。根据不同任务对响应时间的不同需要,可以进一步将后台的多个输入输出任务分解到不同的工作者线程,赋予它们不同的优先级,高优先级的线程处理实时性要求高的任务,而低优先级的线程处理对响应要求宽松的任务。因此,这个多线程异步I/O模型不仅可以充分利用WindowsNT的SMP优势,而且能够适应对实时性能要求较高的应用环境。 多线程应用要求必须处理好线程的同步问题,以保证线程执行顺序的正确,同步多个线程对共享资源的访问,避免竞争条件和死锁。对于主线程与工作者线程间的同步,以及线程内部多个异步I/O完成后的同步,本文中统一采用了wait函数和事件同步对象的方法。为了实现对多线程共享数据的保护,可以采用多种同步机制,这里主要利用临界区对象来确保多线程对关键共享信息的有序访问。 基于对Win32异步I/O模型的分析与设计,在第三章实现一个多线程的异步I/O应用。该应用由一个主线程和两个工作者线程构成,其中一个工作者线程管理一个8多口的串行异步卡,另一个工作者线程处理2路网络数据通信,它们共同构成了一个多种设备并发输入输出的应用环境。 针对这个异步I/O模型,本文进行了一些对比试验,通过试验定量地分析异步I/O模型中线程数量、处理器数量等因素与吞吐量之间的关系,验证该模型的正确性,提出了这类应用的基本原则和应用建议。
其他文献
列车轮对作为重要的可互换行走部件,对列车安全行驶起着关键性的作用。目前,我国列车轮对的参数检测仍停留在手工测量阶段,技术落后、工作效率低。而日本、美国等国在轮对自动检
企业为了在激烈的市场竞争中获得竞争利益,需要不断优化其生产、经营过程。企业过程的建模与优化是提高企业效益、增强企业竞争力的重要手段;企业资源是企业过程运行最重要的物
近年来,VoIP(Voice over IP)技术及其业务的迅速发展,对传统的电信业务造成了巨大的冲击。VoIP网络通过网关等设备,以PSTN作为用户的接入设备,用IP网络代替昂贵的传统传输网络,从
学位
H.264是ITU-T和ISO/IEC联合制订的最新国际视频编码标准,其中众多新颖的算法特性大幅度提高了编码性能,同时运算复杂度也较其他视频标准有巨大增长。如何尽量在保持H.264编码性
Internet网络的产生是一面双刃剑,一方面它使得人们可以更加自由地进行信息、知识甚至计算能力等资源的共享,另一方面,这也使得计算机系统安全问题日趋严重。基于网络的攻击行为
信息安全是信息化建设过程中不可回避的话题,在现代信息社会中,随着计算机技术和计算机网络的广泛应用,尤其是随着电子政务、电子商务应用及其平台的发展,这一问题也就显得更加迫
本课题的研究利用现场可编程门阵列( FPGA , Field Programmable Gate Array )集成度高,体积小,低功耗,高可靠性,可以在线调试等特点,和VHDL语言层次化的程序设计方法,设计灵
随着电子技术的发展,现代战争已由陆、海、空的三维立体战发展到陆、海、空、天、电磁多维的网络中心战。网络中心战通过传感器、决策制定者和射手的网络化,获取共享感知,增加指
供应链通过价值增值过程和分销渠道控制从供应商的供应商到用户的用户的整个过程,它始于供应的源点,终于消费的终点。采购过程是供应链中的重要活动。在采购过程中如何选择合适
Linked Data的发展带动了各领域以RDF格式开放领域知识库,由此带来了如何高效组织和管理海量RDF数据的问题。目前,基于关系数据库或NoSQL图数据库的存储模型,都不同程度地暴露了