- 1、本文档共80页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 进程、线程和处理机管理 11.1 进程同步与进程间通信 11.2 线程调度 11.1 进程同步与进程间通信 11.1.1 Windows 2000/XP的进程互斥和同步 11.1.2 Windows 2000/XP的信号(signal) 11.1.3 Windows 2000/XP基于文件映射的共享存储区 11.1.4 Windows 2000/XP管道 11.1.5 Windows 2000/XP邮件槽 11.1.6 Windows 2000/XP套接字 11.1.7 剪帖板(Clipboard) 11.1.1 Windows 2000/XP的进程互斥和同步 互锁变量访问 临界区对象(Critical Section) 互斥对象(Mutex) 信号量对象(Semaphore) 事件对象(Event) 互锁变量访问 临界区对象(Critical Section) 只能用于在同一进程内使用的临界区,同一进程内各线程对它的访问是互斥进行的。相关API包括: InitializeCriticalSection对临界区对象进行初始化; EnterCriticalSection等待占用临界区的使用权,得到使用权时返回; TryEnterCriticalSection非等待方式申请临界区的使用权;申请失败时,返回0; LeaveCriticalSection释放临界区的使用权; DeleteCriticalSection释放与临界区对象相关的所有系统资源。 互斥对象(Mutex) 信号量对象(Semaphore) 信号量对象的取值在0到指定最大值之间,用于限制并发访问的线程数。有关的API: CreateSemaphore创建一个信号量对象,指定最大值和初值,返回对象句柄; OpenSemaphore返回一个已存在的信号量对象的句柄,用于后续访问; ReleaseSemaphore释放对信号量对象的占用; 事件对象(Event) 事件对象相当于触发器,可通知一个或多个线程某事件的出现。有关的API: CreateEvent创建一个事件对象,返回对象句柄; OpenEvent返回一个已存在的事件对象的句柄,用于后续访问; SetEvent和PulseEvent设置指定事件对象为可用状态;设置指定事件对象为不可用状态 ResetEvent;手工复位,并唤醒所有等待线程; 同步对象等待 11.1.2 Windows 2000/XP的信号(signal) SetConsoleCtrlHandler和GenerateConsoleCtrlEvent signal和raise SetConsoleCtrlHandler和GenerateConsoleCtrlEvent SetConsoleCtrlHandler在本进程的处理例程(HandlerRoutine)列表中定义或取销用户定义的处理例程;如:缺省时,它有一个CTRL+C输入的处理例程,我们可利用本调用来忽视或恢复CTRL+C输入的处理; GenerateConsoleCtrlEvent发送信号到与本进程共享同一控制台的控制台进程组; 处理信号列表(5种) signal和raise signal设置中断信号处理例程;如:SIGINT(CTRL+C)、SIGABRT异常中止等信号的处理; raise给本进程发送一个信号; UNIX中的kill可向其他进程发信号,但在Windows 2000/XP中没有kill。 处理信号列表(6种) 11.1.3 Windows 2000/XP基于文件映射的共享存储区 将整个文件映射为进程虚拟地址空间的一部分来加以访问。在CreateFileMapping和OpenFileMapping时可以指定对象名称。 CreateFileMapping为指定文件创建一个文件映射对象,返回对象指针; OpenFileMapping打开一个命名的文件映射对象,返回对象指针; MapViewOfFile把文件映射到本进程的地址空间,返回映射地址空间的首地址; 这时可利用首地址进行读写; FlushViewOfFile可把映射地址空间的内容写到物理文件中; UnmapViewOfFile拆除文件映射与本进程地址空间间映射关系; 随后,可利用CloseHandle关闭文件映射对象; 共享存储区实例 /msj/defaultframe.asp?page=/msj/1198/wicked/wicked1198.htmnav=/msj/1198/newnav.htm 在CsharedMemory::Create中: SharedMem.cpp: Line 71: CreateFileMapping: 创建文件映射对象; SharedMem.cpp:
您可能关注的文档
- 山东省2013年会计继续教育(公司财务管理基础)介绍.doc
- 山东省部分重点中学2016届高三第二次调研联考介绍.doc
- 山东省苍山县第二中学2015届高三第一次诊断性测验语文 Word版含介绍.doc
- 山东省电视台冷机群控方案介绍.doc
- 山东省各地市2014年物理中考电学介绍.doc
- 介入性产前诊断和治疗-向阳资料.ppt
- 介质损耗角测量方法资料.ppt
- 山东省菏泽单县2016届九年级物理上学期期末考试(word版)介绍.doc
- 山东省菏泽市2015-2016学年高二上学期期末考试历史(A) Word版含介绍.doc
- 乳腺癌精准医疗之路资料.ppt
- 2025中国冶金地质总局所属在京单位高校毕业生招聘23人笔试参考题库附带答案详解.doc
- 2025年01月中国人民大学文学院公开招聘1人笔试历年典型考题(历年真题考点)解题思路附带答案详解.doc
- 2024黑龙江省农业投资集团有限公司权属企业市场化选聘10人笔试参考题库附带答案详解.pdf
- 2025汇明光电秋招提前批开启笔试参考题库附带答案详解.pdf
- 2024中国能建葛洲坝集团审计部公开招聘1人笔试参考题库附带答案详解.pdf
- 2024吉林省水工局集团竞聘上岗7人笔试参考题库附带答案详解.pdf
- 2024首发(河北)物流有限公司公开招聘工作人员笔试参考题库附带答案详解.pdf
- 2023国家电投海南公司所属单位社会招聘笔试参考题库附带答案详解.pdf
- 2024湖南怀化会同县供水有限责任公司招聘9人笔试参考题库附带答案详解.pdf
- 2025上海烟草机械有限责任公司招聘22人笔试参考题库附带答案详解.pdf
文档评论(0)