全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows操作系统 C/C+ 程序实验姓名:_ _学号:_班级:_院系:_2013_年_10_月_11_日4实验三 Windows 2000/xp线程同步一、背景知识二、实验目的在本实验中,通过对事件互斥体对象的了解,来加深对Windows 2000/xp线程同步的理解。1) 回顾系统进程、线程的有关概念,加深对Windows 2000/xp线程的理解。2) 了解事件和互斥体对象。3) 通过分析实验程序,了解管理事件对象的API。4) 了解在进程中如何使用事件对象。5) 了解在进程中如何使用互斥体对象。6) 了解父进程创建子进程的程序设计方法。三、工具/准备工作在开始本实验之前,请回顾教科书的相关内容。您需要做以下准备:1) 一台运行Windows 2000/xp Professional操作系统的计算机。2) 计算机中需安装Visual C+ 6.0专业版或企业版。四、实验内容与步骤 1. 事件对象清单4-1程序展示了如何在进程间使用事件。父进程启动时,利用CreateEvent() API创建一个命名的、可共享的事件和子进程,然后等待子进程向事件发出信号并终止父进程。在创建时,子进程通过OpenEvent() API打开事件对象,调用SetEvent() API使其转化为已接受信号状态。两个进程在发出信号之后几乎立即终止。步骤1:登录进入Windows 2000/xp Professional。步骤2:在“开始”菜单中单击“程序”-“Microsoft Visual Studio 6.0”“Microsoft Visual C+ 6.0”命令,进入Visual C+窗口。步骤3:在工具栏单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-1.cpp。步骤4:单击“Build”菜单中的“Compile 3-1.cpp”命令,并单击“是”按钮确认。系统对3-1.cpp进行编译。步骤5:编译完成后,单击“Build”菜单中的“Build 3-1.exe”命令,建立3-1.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么? _是_步骤6:在工具栏单击“Execute Program” (执行程序) 按钮,执行3-1.exe程序。运行结果 (分行书写。如果运行不成功,则可能的原因是什么?) :1) _event created_2) _chlid created_3) _Parent waiting cohni lcdh iplrdo.c_4) _ess begining_5) _event signaled_6) _Parent released_这个结果与你期望的一致吗?(从进程并发的角度对结果进行分析)不一致,每一次运行结果不同,有时会与期望一致,是多核处理器调度问题.父进程通过系统函数CreateEvent() 创建一个事件和子进程,然后子进程向事件发出信号,父进程终止。子进程通过OpenEvent() 打开事件对象,调用SetEvent() 使其转化为已接受信号状态。两个进程在发出信号之后几乎立即终止。阅读和分析程序3-1,请回答:1) 程序中,创建一个事件使用了哪一个系统函数?创建时设置的初始信号状态是什么? a. CreateEvent () b. 非接受信号状态 2) 创建一个进程 (子进程) 使用了哪一个系统函数? CreateChild() 3) 从步骤6的输出结果,对照分析3-1程序,可以看出程序运行的流程吗?请简单描述:1、创建一个事件2、创建子进程,父进程等待子进程的开始3、子进程开始运行,最初创建的事件收到信号,父进程收到子进程向事件发出的信号后父 进程被停止。4、在发出信号之后,两个进程几乎立即停止。 2. 互斥体对象步骤7:在Visual C+ 窗口的工具栏中单击“打开”按钮,在“打开”对话框中找到并打开实验源程序3-2.cpp。 步骤8:单击“Build”菜单中的“Compile 3-2.cpp”命令,并单击“是”按钮确认。系统对3-2.cpp进行编译。步骤9:编译完成后,单击“Build”菜单中的“Build 3-2.exe”命令,建立3-2.exe可执行文件。操作能否正常进行?如果不行,则可能的原因是什么? _是_步骤10:在工具栏单击“Execute Program”按钮,执行3-2.exe程序。分析程序3-2的运行结果,可以看到线程 (加和减线程) 的交替执行 (因为Sleep() API允许Windows切换线程) 。在每次运行之后,数值应该返回初始值 (0) ,因为在每次运行之后写入线程在等待队列中变成最后一个,内核保证它在其他线程工作时不会再运行。1) 请描述运行结果 (如果运行不成功,则可能的原因是什么?) :2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物学精要介绍
- 2025年江西安全员报名考试试题及答案
- 绿筑未来共筑生活
- 多渠道协同管理-洞察与解读
- 解析卷-人教版八年级物理上册第5章透镜及其应用-生活中的透镜专项攻克试卷(含答案详解版)
- 绿色双十二商家共筑
- 虚拟广告行为分析-洞察与解读
- 餐饮员工动员大会
- 初中生学习方法指南
- 2026年云南省怒江傈僳族自治州单招职业适应性考试必刷测试卷及答案1套
- GB/T 7388-1999船用辅助阳极技术条件
- GB/T 7025.3-1997电梯主参数及轿厢、井道、机房的型式与尺寸第3部分:V类电梯
- GB/T 6324.2-2004有机化工产品试验方法第2部分:挥发性有机液体水浴上蒸发后干残渣的测定
- 印刷oled el概述培训课程
- 设施农用地管理课件
- HI-IPDV10芯片产品开发流程V10宣课件
- 非煤矿山露天开采讲解学习课件
- 国际物流培训课件
- 售后维修服务单模板
- 广东省惠州市基层诊所医疗机构卫生院社区卫生服务中心村卫生室地址信息
- 商业发票 国际贸易商业发票模板
评论
0/150
提交评论