c++中WaitForSingleObject函数解析

来源:互联网 发布:mac版ps里怎么下载字体 编辑:程序博客网 时间:2024/05/18 16:56

Address: http://blog.csdn.net/richerg85/article/details/7354154


函数的原型:

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

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

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

 

返回值

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

 

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

等待超时

 

函数说明:

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

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


原创粉丝点击