- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【例8.2】的运行结果 8.3.2 等待函数 1.单对象等待函数 2.多对象等待函数 1.单对象等待函数 调用WaitForSingleObject()函数在指定对象处于受信(signaled)状态或超过超时时间时返回,函数原型如下: ? DWORD WaitForSingleObject( HANDLE hHandle, // 指定对象的句柄,通常可以使用线程句柄,当线程结束时,线程句柄变成受信状态 DWORD dwMilliseconds // 超时时间,单位为毫秒。如果为INFINITE,则不设置超时时间 ); ? 如果函数执行成功,则返回代表导致函数返回的事件的数值。 【例8.3】 演示WaitForSingleObject()函数的使用,代码如下: ? #include stdafx.h #include windows.h // 线程函数 void ThreadMain(LONG PassVal) { LONG i; for(i=0;iPassVal;i++) { printf(ThreadMain() - count #%d\n, i); } } int _tmain(int argc, _TCHAR* argv[]) { DWORD ThreadID, dwRet; HANDLE hTh; // 创建线程,执行ThreadMain()函数 hTh=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadMain,(LPVOID)10,0,ThreadID); 接上 if(hTh==NULL) { printf(CreateThread() failed, error %u\n, GetLastError()); system(pause); return 1; } else printf(CreateThread() is OK, thread ID %u\n, ThreadID); // 等待子线程 printf(等待子线程...\n); dwRet = WaitForSingleObject(hTh,INFINITE); printf(WaitForSingleObject() 函数的返回值为X%.8X\n, dwRet); switch(dwRet) { case WAIT_ABANDONED: printf(互斥对象没有被线程释放...\n); break; 接上 case WAIT_OBJECT_0: printf(调用线程的状态变为受信!\n); break; case WAIT_TIMEOUT: printf(超时时间已过.\n); break; case WAIT_FAILED: printf(WaitForSingleObject() 函数失败, 错误代码%u\n, GetLastError()); ExitProcess(0); } if(CloseHandle(hTh) != 0) printf(子线程句柄hTh成功被关闭\n); else printf(关闭子线程句柄hTh失败,错误代码%u\n, GetLastError()); printf(主进程和线程即将退出t...\n\n); system(pause); return 0; } 【例8.3】的运行结果 【例8.4】 去掉【例8.3】中与WaitForSingleObject()函数相关的代码,从而演示WaitForSingleObject()函数的作用 2.多对象等待函数 DWORD WINAPI WaitForMultipleObjects( __in DWORD nCount, // 数组lpHandles中对象的数量 __in const HANDLE* lpHandles, //对象句柄数组 __in BOOL bWaitAll, // 是否数组lpHandles中所有对象都变为收信状态,函数才返回 __i
您可能关注的文档
- 多媒体技术基础与应用(第3版)鄂大伟chap5.ppt
- 多媒体技术基础单元.ppt
- 多媒体技术基础复习.ppt
- 多媒体技术基础与应用(第3版)鄂大伟chap8.ppt
- 多媒体技术应用(选修)第一章.ppt
- 多媒体技术基础第1章.ppt
- 多媒体技术应用-第一单元.ppt
- 多媒体技术应用多媒体数据文件.ppt
- 多媒体技术应用教程.ppt
- 多媒体技术应用课件.ppt
- 智慧港口物流监管平台建设方案.pptx
- 储能微电网解决方案.pptx
- 心肺复苏培训.ppt
- 智慧安防综合管理平台建设方案.pptx
- 五一劳动节介绍课件模版.pptx
- 第六章 衣袖款式造型 2 课件《服装纸样设计(第3版)》同步教学(中国纺织出版社).pptx
- 第七章 衣领款式造型 1 课件《服装纸样设计(第3版)》同步教学(中国纺织出版社).pptx
- 第七章 衣领款式造型2 课件《服装纸样设计(第3版)》同步教学(中国纺织出版社).pptx
- 第三章 服装的省位、褶裥变化 课件《服装纸样设计(第3版)》同步教学(中国纺织出版社).pptx
- 第十一章 服装纸样修正 1 课件《服装纸样设计(第3版)》同步教学(中国纺织出版社).pptx
最近下载
- SL 180-2015 水文自动测报系统设备 遥测终端机.pdf
- 2024年国家开放大学(电大)-农业经济管理(一对一)历年考题高频考点荟萃带答案.docx
- 二子玉川站案例解读.pptx VIP
- 蒸馏法制备高纯金属锂工艺以及改进.doc
- 项目十多元微分学 教案 《高等数学》(高教版).doc VIP
- 2019 水电工程场内交通道路设计规范.docx
- 国家开放大学《人体解剖生理基础》形考任务1-4参考答案.pdf
- Maxon-Motor-电机产品手册(中文版)(1)000-050.pdf
- 广东省东莞市2021--2022学年度第二学期七年级期末考历史试卷(含答案).pdf VIP
- 2022-2023学年广东省广州市天河区七年级(下)期末语文试卷.doc
文档评论(0)