1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
并发程序

23. 并发程序  顺序程序和并发程序  并发程序的意义  并发的情况和历史发展 实例,硬件,相关概念  Python并发库threading包 一些问题和实例,并发程序的一些现象  线程间通讯和queue包 计算概论(Python程序设计) 裘宗燕,2015/6/11//-1- 顺序程序和并发程序  至今为止,我们用Python写出的程序都是顺序程序:在程序运 行中只有一个活动着的执行进程 一个语句执行完后,接着执行根据控制流要求的下一语句 调用一个函数时,调用代码段的执行暂时停在函数调用点, 被调用的函数开始执行。被调用函数执行完成后,调用代码 段从调用点之后继续 顺序执行是命令式程序(以操作命令作为基本计算元素的语 言)的基本特性,Python程序也属于命令式程序  在并发程序执行中,可能同时出现多个独立的执行流 这些执行流有独立的生命周期,有自己的开始和结束,一般 称为执行进程(process)或活动(activity) 每个进程执行自己的代码,也可能需要相互合作和传递信息 计算概论(Python程序设计) 裘宗燕,2015/6/11//-2- 并发程序  需要并发程序和并发执行,主要基于下面一些理由: 更好地反映问题的逻辑结构。许多程序里,特别是各种服务 器、图形应用、计算机模拟等,需要做很多基本上相互独立 的工作。构造这种程序,最简单也最合逻辑的方式,就是用 一个独立的执行进程实现一个工作 计算机硬件通常控制着一批独立设备和部件,例如键盘、显 示器、打印机,还有各种内部组件。这些设备/部件的特性和 操作速度不同,相应控制程序最好作为独立的进程,根据需 要开始/结束或暂时中断。实时控制系统通常需要指挥控制多 台独立的外部设备,最好用独立的控制线程,还需要与处理 器上运行的其他线程交互,实现系统的整体行为 通过并发执行有可能提高计算的性能。有些程序本质上并不 需要并行执行,但如果能使用多个处理器同时计算,可能得 到很大的速度提升,或者满足实际的需要 计算概论(Python程序设计) 裘宗燕,2015/6/11//-3- 并发性  并发性的思想和技术已经开发多年  并发程序设计的最重要的基础理论工作从20 世纪60 年代开 始提出和研究,其基础理论框架在70年代已基本完成 Algol 68编程语言已经包含了与并发性有关的程序特征 但对并发性的广泛兴趣是近年的新现象,主要原因是廉价的 多处理器系统的开发和普及,以及图形、多媒体和互联网应 用等的发展(用并发线程描述特别自然)等  今天,几乎所有硬件计算机都是多处理器计算机 个人计算机(笔记本)都有2个或更多计算核心 新型手机的CPU包含4个/8个或更多核心  目前最快的天河二号计算机共包含32000颗Ivy Bridge处理器 和48000颗Xeon Phei处理器,总计312万个计算核心 计算概论(Python程序设计) 裘宗燕,2015/6/11//-4- 摩尔定律和多核CPU  通过提高主频提高计算机 性能的时代已经结束。大 约到2003 年,常规CPU的 主频增长雅然而止

文档评论(0)

zhuwo + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档