欢迎来到天天文库
浏览记录
ID:35226539
大小:154.66 KB
页数:10页
时间:2019-03-22
《操作系统实验报告5》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《操作系统》实验报告实验序号: 3 实验项目名称:Windows基本进程管理学 号1207122219姓 名邝沃佳专业、班软金二班实验地点1-418指导教师李远敏实验时间2014/11/17一、实验目的及要求通过观察任务管理器,来观察各个进程的动态信息。二、实验设备(环境)及要求(1)一台WindowsXP操作系统的计算机。(2)计算机装有MicrosoftVisualStudioC++6.0专业版或企业版。三、实验内容与步骤1、预备知识·任务管理器,了解用户计算机上正在运行的程序和进程的相关信息。·Wind
2、ows环境中的编程。1)线程创建CreateThread()完成线程的创建。它在调用进程的地址空间上创建一个线程,执行指定的函数,并返回新建立线程的句柄。原型: HANDLECreateThead( LPSECURITY ATTRIBUTESlpThreadAttributes, //安全属性指针 DWORDdwStackSize, //线程堆栈大小 LPTHREAD STAPT ROUTINElpStartAddress, //线程所要执行的函数 LPVOI
3、DlpParameter, //线程对应函数要传递的参数 DWORDdwCreationFlags, //线程创建后所处的状态 LPDWORDlpThreadId, //线程标识符指针);参数说明:(1)lpThreadAttributes:为线程指定安全属性。为NULL时,线程得到一个默认的安全描述符。(2)dwStackSize;线程堆栈的大小。其值为0时,其大小与调用该线程的线程堆
4、栈大小相同。(3)lpStartAddress:指定线程要执行的函数。(4)lpParameter:函数中要传递的参数。(5)dwCreationFlags:指定线程创建后所处的状态。若为CREATE SUSPENDED,表示创建后处于挂起状态,用ResumeThread()激活后线程才可执行。若该值设为0,表示线程创建后立即执行。(6)lpThreadId:用一个32位的变量接收系统返回的线程标识符,若该值设为NULL,系统不返回线程标识符。返回值: 如果线程创建成功,将返回该线程的句柄;如果失败,系统返回NULL,
5、 可以调用函数GetLastError查询失败的原因。用法举例:static HANDLEhHandle1=NULL; //用于存储线程返回句柄的变量DWORDdwThreadID1; //用于存储线程标识符的变量//创建一个名为ThreadName1的线程hHandle1=CreateThread(LPSECURITY ATTRIBUTES)NULL, 0,
6、 (LPTHREAD STAPT ROUTINE)ThreadNamel, (LPVOID)NULL, 0,&dwThreadID1);2)撤销线程ExitThread();用于撤销当前线程。原型: VOIDExitThread( DWORDdwExitCode //线程返回码); 参数说明:dwExitCode:指定线程返回码,可以调用GetExitCodeThread()查询返回码的含义。返回
7、值: 该函数没有返回值。用法举例:ExitThread(0); //参数0表示要撤销进程中的所有线程3)终止线程TerminateThread()用于终止当前线程。该函数与ExitThread()的区别在于, ExitThread()在撤销线程时将该线程所拥有的资源全部归还给系统,而 TerminateThread()不归还资源。 原型: BOOLTerminateThread( HANDLE hThread, //线程句柄 DWORD dw
8、ExitCode //线程返回码); 参数说明:(1)hThread:要终止线程的线程句柄。(2)dwExitCode:指定线程返回码,可以调用GetExitCodeThread()查询返回码的含义。返回值:函数调用成功,将返回一个
此文档下载收益归作者所有