课 程 上 机 报 告
课程名称______________实用操作系统实验_______ 题 目___Windows XP环境下线程的创建和撤消__ 指导教师_____________________________________ 设计起止日期________________________________
学 院 ___信息管理学院___
专 业 __信息管理与信息系统__ 学生姓名 __戚鹏_____
班级/学号 信管1202/ 2012012042__ 成 绩 _____________
1
北京信息科技大学
信息管理学院
(课程上机)实验报告
实验课程名称: 实用操作系统实验 专业: 信息管理与信息系统 班级: 信管1202 学号:2012012042 姓名:戚鹏 成绩: 实验名称 Windows XP环境下线程的创建和撤消 实验地点 学院计算中心 实验时间 1. 实验目的: (1)掌握WindowsXP环境下,线程的创建与撤消。 2.实验内容: (1)使用系统调用 CreateThread()创建线程,线程运行一段时间后使用ExitThread(0)撤消之。 3.实验要求: (1) 在VC6.0下编写一个程序,使用CreateThread()创建线程,观察主线程与新创建线程的执行情况,它们的执行结果是否唯一? (2) 在保证上述两个线程完成预定任务的情况下,使用ExitThread(0)撤销线程。 (3) 记录程序的运行结果,分析出现各种不同情况的原因,并记录。 (4)自我拓展(选作):在上述新创建线程对应函数中试着传递参数。 2
4.实验准备: 2. 实验过程: // ThreadCreate.cpp : Defines the entry point for the console application. // #include \"stdafx.h\" #include \"ThreadCreate.h\" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // The one and only application object CWinApp theApp; using namespace std; void ThreadName1(); static HANDLE hHandle1 = NULL; DWORD dwThreadID1; int_tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = O; hHandle1 = CreateThread((LPSECURITY_ATTRIBUTES) NULL, O,
3
(LPTHREAD_START_ROUTINE)ThreadName1, (LPVOID) NULL, O, &dwThreadID1); Sleep(5000); CloseHandle(hHandle1); ExitThread(O); return nRetCode; } void ThreadName1() { printf(\"Thread is Runing!\\n\"); } 4
3. 实验总结: (1) 说明本次实验后你对系统调用CreateThread()、ExitThread()的理解,通过该实验你的收获有哪些?在线程外终止一个线程,用于强制终止线程。 (2) (3) (4) (5) 在该实验中你有哪些没有解决的问题?有许多调用函数不清楚。 通过该实验对理解操作系统理论有何帮助?学会了使用系统调用 CreateThread()创建线程。 关于本实验,你有什么建议? 对于操作系统课程及实验的设置有你何建议?希望多些实践操作和老师亲自指导,使得试验理解更透彻。 说明: 1. 实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用; 2. 实验准备由学生在实验或上机之前填写,教师应该在实验前检查;
3. 实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
4. 实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等; 5. 源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
5
因篇幅问题不能全部显示,请点此查看更多更全内容