WaitForSingleObject, 第二个参数是0

时间:2021-08-02 11:27:25
CEvent m_start
。。。。。。
if(::WaitForSingleObject(m_start,0)=WAIT_OBJECT_0) //第二个参数是0,书上说是马上返回
                                                   //既然马上返回,还要这一句,有什么用?
   break;

7 个解决方案

#1


WaitForSingleObject能等到事件,那它的返回值就不一样了,立即返回不是就不能等到事件

#2


m_start作为等待的对象,0位置的参数表示等待时间,如果是0的话表示立刻返回,而WAIT_OBJECT_0这个返回值表示等待的目标变成激发状态,如果是WAIT_TIMEOUT表示等待时间终了。这句就是看你返回的是什么情况,还有if(::WaitForSingleObject(m_start,0)=WAIT_OBJECT_0)还要多加个等号。

#3


一般用在循环中。发果事件受信,就等于WAIT_OBJECT_0,如果没受信不等于WAIT_OBJECT_0。

#4


mark~

#5


就是给我们开发人员选择等待时间的参数

#6


检查事件的信号状态,依据不同的状态返回不同的值

#7


Specifies the time-out interval, in milliseconds. The function returns if the interval elapses, even if the object's state is nonsignaled. If dwMilliseconds is zero, the function tests the object's state and returns immediately. If dwMilliseconds is INFINITE, the function's time-out interval never elapses. 

#1


WaitForSingleObject能等到事件,那它的返回值就不一样了,立即返回不是就不能等到事件

#2


m_start作为等待的对象,0位置的参数表示等待时间,如果是0的话表示立刻返回,而WAIT_OBJECT_0这个返回值表示等待的目标变成激发状态,如果是WAIT_TIMEOUT表示等待时间终了。这句就是看你返回的是什么情况,还有if(::WaitForSingleObject(m_start,0)=WAIT_OBJECT_0)还要多加个等号。

#3


一般用在循环中。发果事件受信,就等于WAIT_OBJECT_0,如果没受信不等于WAIT_OBJECT_0。

#4


mark~

#5


就是给我们开发人员选择等待时间的参数

#6


检查事件的信号状态,依据不同的状态返回不同的值

#7


Specifies the time-out interval, in milliseconds. The function returns if the interval elapses, even if the object's state is nonsignaled. If dwMilliseconds is zero, the function tests the object's state and returns immediately. If dwMilliseconds is INFINITE, the function's time-out interval never elapses.