问题1:在线程函数中
while(WaitForSingleObject(ExitEvent,0)=WAIT_OBJECT_0)
{
   if(WaitForSingleObject(hAcceptEvent,时间间隔)==WAIT_TIMEOUT)
   {
do something;
   }
}
主要是为了实现定时功能,我想在程序运行的时候在需要定时完成任务之前能够设定“时间间隔”,怎么才行啊!问题2:我想在线程中访问类的对象,怎么做好呢!

解决方案 »

  1.   

    不是很明白你的意思,为什么要这样定时呢。用
    SetTimer不行吗。如果你需要重新设置时间间隔。KillTimer再SetTimer就行了。你的代码放在响应
    WM_TIMER的响应中。
      

  2.   

    DWORD dwRet;
    dwRet= WaitForSingleObject(m_hThread,INFINITE); 
    switch(dwRet)//
    {
        case WAIT_OBJECT_0:
    MessageBox("成功中止!");
    break;
       case WAIT_TIMEOUT:
    MessageBox("强制中止!");
    TerminateThread(m_hThread,-1);
    break;
       case WAIT_ABANDONED:
                      ...
    }
      

  3.   

    dwRet= WaitForSingleObject(m_hThread,INFINITE);
      
    上面是无限等待,你可以设置等待时间 1000 为一秒,比如
    dwRet= WaitForSingleObject(m_hThread,1000);