WaitForSingleObject  参数中等待的事件如何判断为由事件?
比如等待的事件是一个线程,那么如何判断该现程位有信号状态?谢谢各位!

解决方案 »

  1.   

    返回值是 WAIT_OBJECT_0 的时候为有信号
      

  2.   

    用WaitForSingleObject 去Wait 线程的句柄 
    WaitForSingleObject 返回 WAIT_OBJECT_0 说明有信号,也就是说Thread退出了。
      

  3.   

    HANDLE v_hThreadHandle = 0;
    DWORD v_hRet = 0;
    ...
    v_hRet == WaitForSingleObject(m_hThread,1000 /*1秒*/);
    if( WAIT_OBJECT_0 == v_hRet )
    {
     //Thread 已经退出
    }else if(WAIT_TIMEOUT == v_hRet)
    {
     //超时说明还未退出
    }
      

  4.   

    多谢各位!!!小弟还有点不明白,就算Wait...函数如何知道所等待的如线程等为有信号,这是不是WINDOWS的内部机制?
      

  5.   

    看看《深入解析Windows操作系统》吧,了解了内核对象的数据结构就明白了。