- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabWindows™/CVI中的多线程技术
概览
多任务、多线程和多处理这些术语经常被交替地使用,但是它们在本质上是不同的概念。多任务是指操作系统
具有在任务间快速切换使得这些任务看起来是在同步执行的能力。在一个抢占式多任务系统中,应用程序可以
随时被暂停。使用多线程技术,应用程序可以把它的任务分配到单独的线程中执行。在多线程程序中,操作系
统让一个线程的代码执行一段时间(被称为时间片)后,会切换到另外的线程继续运行。暂停某个线程的运行
而开始执行另一个线程的行为被称为线程切换。通常情况下,操作系统进行线程切换的速度非常快,令用户觉
得有多个线程在同时运行一样。多处理指的是在一台计算机上使用多个处理器。在对称式多处理(SMP )系统
中,操作系统自动使用计算机上所有的处理器来执行所有准备运行的线程。借助于多处理的能力,多线程应用
程序可以同时执行多个线程,在更短的时间内完成更多的任务。
单线程应用程序移植到多核处理器上运行不会获得性能上的改进,这是因为它们只能在其中一个处理器上运
行,而不能像多线程应用程序那样在所有的处理器上同时运行。而且单线程应用程序需要承受操作系统在处理
器间切换所需要的开销。为了在多线程操作系统和/或多处理器计算机上获得最优异的性能,我们必须使用多
线程技术来编写应用程序。
进行多线程编程的原因
在程序中使用多线程技术的原因主要有四个。最常见的原因是多个任务进行分割,这些任务中的一个或多个是
对时间要求严格的而且易被其他任务的运行所干涉。例如,进行数据采集并显示用户界面的程序就很适合使用
多线程技术实现。在这种类型的程序中,数据采集是时间要求严格的任务,它很可能被用户界面的任务打断。
在LabWindows/CVI 程序中使用单线程方法时,程序员可能需要从数据采集缓冲区读出数据并将它们显示到用户
界面的曲线上,然后处理事件对用户界面进行更新。当用户在界面上进行操作(如在图表上拖动光标)时,线
程将继续处理用户界面事件而不能返回到数据采集任务,这将导致数据采集缓冲区的溢出。而在LabWindows/CVI
程序中使用多线程技术时,程序员可以将数据采集操作放在一个线程中,而将用户界面处理放在另一个线程中。
这样,在用户对界面进行操作时,操作系统将进行线程切换,为数据采集线程提供完成任务所需的时间。
在程序中使用多线程技术的第二个原因是程序中可能需要同时进行低速的输入/输出操作。例如,使用仪器来
测试电路板的程序将从多线程技术中获得显著的性能提升。在LabWindows/CVI 程序中使用单线程技术时,程序
员需要从串口发送数据,初始化电路板。,程序需要等待电路板完成操作之后,再去初始化测试仪器。必须要
等待测试仪器完成初始化之后,再进行测量,。在LabWindows/CVI 程序中使用多线程技术时,你可以使用另一
个线程来初始化测试仪器。这样,在等待电路板初始化的同时等待仪器初始化。低速的输入/输出操作同时进
行,减少了等待所需要的时间总开销。
在程序中使用多线程技术的第三个原因是借助多处理器计算机来提高性能。计算机上的每个处理器可以都执行
一个线程。这样,在单处理器计算机上,操作系统只是使多个线程看起来是同时执行的,而在多处理器计算机
上,操作系统才是真正意义上同时执行多个线程的。例如,进行数据采集、将数据写入磁盘、分析数据并且在
021•800-820-3622 •@ •/china National Instruments
用户界面上显示分析数据,这样的程序很可能通过多线程技术和多处理器计算机运行得到性能提升。将数据写
到磁盘上和分析用于显示的数据是可以同时执行的任务。
在程序中使用多线程技术的第四个原因是在多个环境中同时执行特定的任务。例如,程序员可以在应用程序中
利用多线程技术在测试舱进行并行化测试。使用单线程技术,应用程序需要动态分配空间来保存每个舱中的测
试结果。应用程序需要手动维护每个记录及其对应的测试舱的关系。而使用多线程技术,应用程序可以创建独
立的线程来处理每个测试舱。然后,应用程序可以使用线程局部变量为每个线程创建测试结果记录。测试舱与
结果记录间的关系是自动维护的,使应用程序代码得以简化。
选择合适的操作系统
微软公司的Windows 9x 系列操作系统不支持多处理器计算机。所以,你必须在多处理器计算机上运行Windows
Vista/XP/2000/NT 4.0 系统来享受多处理器带来的好处。而且,即使在单处理器计算机上,多线程程序在Windows
Vista/XP/2000/NT 4.0 上的性能也比在Windows 9x 上好。这要归功于Windows Vista
您可能关注的文档
最近下载
- 专题训练 速度基础计算题.docx VIP
- C586114【冲刺】2024年西安建筑科技大学085400电子信息《883C语言程序设计》考研学霸.pdf VIP
- 建筑消防工程竣工验收资料大全要点.doc
- 第07课 散文诗二首(基础训练)(学生版).docx VIP
- 煤矿劳动防护用品培训.pptx VIP
- [海口]2024年北京师范大学海口附属学校招聘5人笔试历年参考题库附带答案详解.doc
- 广州市建设工程档案编制技术规范.pdf VIP
- 《中国视网膜中央动脉阻塞临床诊疗专家共识2024》解读.pptx
- 普司德(上海)新材料有限公司绍兴分公司新能源汽车用气凝胶镉热板项目环评报告.docx VIP
- (2025秋)人教版二年级数学上册全册教案(新教材).pdf
文档评论(0)