现在的位置: 首页 > 综合 > 正文

c++中WaitForSingleObject函数解析(1)

2013年10月10日 ⁄ 综合 ⁄ 共 632字 ⁄ 字号 评论关闭

函数的原型:

DWORD WaitForSingleObject( HANDLE hHandle// handle to object DWORD dwMilliseconds // time-out interval );
hHandle:(事件)对象的句柄;
dwMilliseconds:时间间隔,毫秒级

WaitForSingleObject 函数当出现如下一种情况时才返回:

  • 指定的对象在有信号状态
  • 超过指定的时间间隔

 

返回值

如果函数执行成功,返回值指示引起函数返回的事件。返回值是下面一种:

 

Value Meaning
WAIT_ABANDONED 当hHandle为mutex时,如果拥有mutex的线程在结束时没有释放核心对象会引发此返回值。
WAIT_OBJECT_0 核心对象已被激活
WAIT_TIMEOUT

等待超时

 

函数说明:

    WaitForSingleObject函数用来检测hHandle事件的信号状态,在某一线程中调用该函数时,线程暂时挂起,如果在挂起的dwMilliseconds毫秒内,线程所等待的对象变为有信号状态,则该函数立即返回;如果超时时间已经到达dwMilliseconds毫秒,但hHandle所指向的对象还没有变成有信号状态,函数照样返回。

    参数dwMilliseconds有两个具有特殊意义的值:0和INFINITE。若为0,则该函数立即返回;若为INFINITE,则线程一直被挂起,直到hHandle所指向的对象变为有信号状态时为止。

抱歉!评论已关闭.