windows等待函数
来源:互联网 发布:微观调查数据 编辑:程序博客网 时间:2024/06/13 21:42
等待函数使一个线程自愿进入等待状态,直到指定的内核对象被触发为止。
注意:如果线程在调用一个等待函数的时候,相应的内核对象已经处于触发状态,那么线程是不会进入等待状态。
函数:
DWORD WaitForSingleObject(//单内核对象的等待
HANDLE hObject,//等待的内核对象
DWORD dwMilliSeconds);//等待对象被触发的时间(单位:微秒)
dwMilliSeconds参数,如果被传入INFINITE(0xFFFFFFFF==-1),如果内核对象没有被触发,那么线程永远不会被唤醒
--会一直阻塞。
HANDLE hProcess = CreateProcess(......) ;
DWORD dw = WaitForSingleObject(hProcess,5000);
switch(dw)
{
case WAIT_OBJECT_0:
//The Process terminated;
break;
case WAIT_TIMEOUT:
//The Process did not terminate within 5000 milliseconds;
break;
case WAIT_FAILED:
//Bad call to function(invalid handle?);
break;
}
//等待多个句柄的函数 WaitForMultipleObject
DWORD WaitForMultipleObject(
DWORD dwCount ,
CONST HANDLE * phObjects,
BOOL bWaitAll,
DWORD dwMilliseconds);
dwCount表示希望函数检查内核对象的数量,这个值的范围1-MAXIMUM_WAIT_OBJECTS(64);phObjects是一个指针,指向一个内核对象的数组。
bWaitAll如果为TRUE,那么在所有内核对象被触发之前,函数将不会允许调用线程继续执行;如果为FALSE,则只要phObjects中有一个内核对象被触发
函数将会允许线程继续执行。
返回值的范围:WAIT_OBJECT_0------WAIT_OBJECT_0+dwCount-1,
如果将返回值-WAIT_OBJECT_0,那么就能得到内核对象数组中的被触发内核对象的索引值。
- windows等待函数
- Windows核心编程☞等待函数
- windows下的两个等待函数
- [Win32基础]等待函数
- sql的 等待函数
- Unity3D等待函数介绍
- delphi无限制等待函数
- MFC 等待函数 WaitKey
- opencv等待函数
- PB 等待函数
- TfxSleep,一个可以在等待超时期间处理Windows消息的函数,防止卡死
- 【Windows】线程漫谈——线程同步之等待函数和事件内核对象
- Selenium之等待函数--强制等待,显示等待,隐式等待
- WaitForXXX函数的等待对象~
- win32多线程等待消息函数
- 用于同步的等待函数
- wait_event_interruptible函数以及等待队列
- 为Windows Mobile界面添加等待动画
- DebugGap 3.0.0 开始支持Windows Phone下的IE
- 多线程之四:MFC多线程通讯
- TabHost使用注意
- Swift开发Sprite Kit游戏实践(四):背景音乐与Game Over
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- windows等待函数
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- 【JAVA】什么叫回调方法
- Objective-C开发编码规范:4大方面解决开发中的规范性问题
- 专访支付宝首席架构师程立
- 【回调函数】透彻理解
- 遍历数组的同时删除
- 移动场景下的图像处理应用设计
- log4php不能写文件