计算机操作系统实验指导精要
第二章 windows的进程管理
2.1 实验一:线程的创建与撤销
2.1.1 实验目的
(1)熟悉windows系统提供的线程创建与撤销系统调用.
(2)掌握windows系统环境下线程的创建与撤销方法.
2.1.2 实验准备知识
1.线程的创建
CeateThread()完成线程的创建.它在调用进程的地址空间上创建一个线程,执行指定的函数,并返回新建立的线程的句柄.
原型:
HANDLE CeateThread(
LPSECURITY_ATTRIBUTES lpThreadAttributes,
DWORD dwStackSize,
LPSECURITY_START_ROUTINE lpStartAddress,
LPVOID lpparameter,
DWORD dwCreationFlags,
LPDWORD lpThreadId
);
参数说明:
(1)lpThreadAttributes:为线程指定安全属性.为NULL时,线程得到一个默认的安全描述符.
(2)dwStackSize:线程堆栈的大小.其值为0时,其大小与调用该线程的线程堆栈大小相同.
(3)lpStartAddress:指定线程要执行的函数.
(4)lpparameter:函数中要传递的参数.
(5)dwCreationFlags:指定线程创建后所处的状态.若为CRRATE_SUSPENDED,表示创建后出于挂起状态,用ResumeThread()激活线程才可以执行.若该值为0,表示线程创建后立即执行.
(6)lpThreadId:用一个32位的变量接受系统返回的线程标识符.若该值设为NULL,系统不返回线程标识符.
返回值:
如果线程创建成功,将返回线程的句柄;如果失败,系统返回NULL,可以调用函数GetLastError查询失败的原因.
用法举例:
static HANDLE hHandle1=NULL; //用于存储线程返回句柄的变量
DWORD dwThreadID1; //用于存储线程标识符的变量
//创建一个名为ThreadName1的线程
hHandle1=CeateThread((LPSECURITY_ATTRIBUTES)) NULL
0,
(LPSECURITY_START_ROUTINE)ThreadName1,
(LPDWORD)NULL,
0,dwThreadID1);
2.撤销进程
ExitThread()用于撤销当前进程.
原型:
VOID ExitThread(
DWORD dwExitCode); //线程返回码
参数说明:
dwExitCode:指定线程返回码,可以调用GetExitCodeThread()查询返回码的含义.
返回值:
该函数没有返回值.
用法举例:
ExitThread(0); //参数0表示要撤销进程中的所有线程
3.终止线程
TerminateThread()用于终止当前线程.该函数与ExitThread()的区别在于,ExitThread()在撤销线程时将该线程所拥有的资源全部归还给系统,而TerminateThread()不归还资源.
原型:
BOOL TerminateThread(
HANDLE hHandle, //线程句柄
DWORD dwExitCode); //线程返回码
参数说明:
(1)hThread:要终止线程的线程句柄.
(2)dwExitCode:指定线程返回码,可以调用GetExitCodeThread()查询返回码的含义.
返回值:
函数调用成功,将返回一个非0值;若失败,返回0,可以调用函数GetLastError()查询失败的原因.
4.挂起线程
Sleep()用于挂起当前正在执行的线程.
原型:
VOID Sleep(DWORD dwMilliseconds);
参数说明:
dwMilliseconds;指定挂起时间,单位为ms(毫秒).
返回值:
该函数没有返回值.
5.关闭句柄
函数CloseHandle()用于关闭已打开的对象的句柄,其作用与释放动态申请的内存空间类似,这样可以释放系统资源,使线程安全运行.
原型:
BOOL CloseHandle(HANDLE hObject);
参数说明:
hObject:已打开对象的句柄.
返回值:
如果函数调用成功,则返回值为非0值;如果函数调用失败,则返回值为0.若要得到更多的错误信息,调用函数GetLastError()查询.
2.1.3实验内容
使用系统调用CreatThread()创建一个子线程,并在子线程中显示;Thread is Running!.为了能让用户清楚地看到线
您可能关注的文档
- 计算机操作系统(第三版)课后习题答案(全)整理后精要.doc
- 计算机操作系统作业4(含答案)精要.doc
- 外科手术伤口的处理要点.ppt
- 外科手术后常见的并发症及相应的要点.ppt
- 计算机操作系统期末考试题精要.doc
- 外研五下M6U1Iwenttherelastyear.课件要点.ppt
- 计算机操作系统第3章精要.ppt
- 外科手术AIDS防护要点.pptx
- 计算机操作系统第6章精要.ppt
- 计算机操作系统整合版精要.docx
- 2026年及未来5年市场数据中国中医学市场运营态势及投资前景研究报告.docx
- 中国生鲜农产品电商项目投资计划书.docx
- 中国石油磺酸钡行业市场前景预测及投资价值评估分析报告.docx
- 中国移动WIFI项目创业投资方案.docx
- 2026年及未来5年市场数据年中国品牌乘用车行业市场监测与投资战略研究报告.docx
- 中国母婴网项目创业投资方案.docx
- 2026年及未来5年市场数据中国医用开放式电源行业市场前景预测及投资价值评估分析报告.docx
- 食品制造公司商业策划书3.docx
- 2026年及未来5年市场数据年中国互联网+文化行业市场分析与投资趋势研究报告.docx
- 新时代下的经济发展模式与转型.docx
最近下载
- 15万ta电池级硫酸锰新能源材料项目一期竣工环境保护验收监测报告书.pdf VIP
- 西工大航空发动机燃烧学讲义.pdf VIP
- 2025年工业机器人伺服电机性能优化研究报告.docx VIP
- 《深度学习 》课件 第9章-深度强化学习.pptx
- 有机高分子电致发光材料及器件课件.ppt VIP
- 贵州红星发展股份有限公司 高纯钡盐产业化项目 环境影响报告书.doc VIP
- (网络收集版)2025年新课标全国一卷数学高考真题文档版(无答案).pdf
- 2025年工业机器人伺服电机国内外市场对比研究报告.docx VIP
- 2025年无人机驾驶员执照飞行记录在物流运输专题试卷及解析.pdf VIP
- 河南卫生事业单位招聘考试题.pdf VIP
原创力文档

文档评论(0)