Sleep只能用在consle里暂停主线程,放在MFC界面程序里程序暂停主线程会假死单单用循环暂停 ,不用Sleep, 这会占用CPU时间片,不考虑查了一下SetTimer,只能触发响应函数,好像不好达到暂停主线程的目的
大家有没好方法

解决方案 »

  1.   

    你是想知道 WaitForSingleObject 等待子线程停止吧
      

  2.   

    开子线程,在子线程中suspend主线程,这是答案吗?
      

  3.   

    你在主线程里Sleep,界面就会卡住一般不在界面线程中Sleep,而是放在工作线程中
      

  4.   

    也许,楼主需要的是HANDLE h[] = {m_hSubThread}; // 子线程的 HANDLE
    while(MsgWaitForMultipleObjects(1, h, FALSE, INFINITE, QS_xxx) != WAIT_OBJECT_0)
    {
       MSG msg;
       while(PeekMessage(&msg, m_hWnd, 0, 0, PM_REMOVE))
       {
          TranslateMessage(&msg);
          DispatchMessage(&msg);
       }
    }
      

  5.   


    谢谢,这个可以判断线程是否退出你写错了吧,等待一个内核对象是 WAIT_OBJECT_0+1吧