关于WaitForSingleObject的问题!请帮帮忙看看,在线等!!
     我的程序,在执行>10000s时出现意外的错误,经过我的分析,发现是一个 WaitForSingleObject()出现了问题!请看:
Start=GetTickCount();  //DWORD
Now=GetTickCount();   //DWORD 
while(((Now-Start)/1000)<(TotalTime*60))              //总的运行时间
{
      double ff=FrequencyArray[i];
 if(ff>0)
       {
                 CWinThread* pChildThread=AfxBeginThread     (Respond,&ff,SYNCHRONIZE|THREAD_PRIORITY_NORMAL,
			0,CREATE_SUSPENDED,0);
	pChildThread->ResumeThread();
         DWORD result=WaitForSingleObject(pChildThread->m_hThread,INFINITE);
			switch(result)
			{
			case WAIT_OBJECT_0:
				str=" WAIT_OBJECT_0 ";
				file.Write(str,str.GetLength());
				break;
			case WAIT_FAILED:
				str=" WAIT_FAILED ";
				file.Write(str,str.GetLength());
				result=GetLastError();
				str.Format("result=%ld",result);
				file.Write(str,str.GetLength());
				break;
			default:
				str.Format("result=%ld",result);
				file.Write(str,str.GetLength());
			}
        i++;
        i=i%LenOfFrequencyArray;
        Now=GetTickCount(); 
}
结果发现file里面在时间>10000s的时候,应该有的关于result的结果纪录没有,但是它的处理函数Respond的结束纪录有!说明Respond正常的return了。也就是应该能够说明是WaitForSingleObject出错了,连返回的result值都没有。我这个程序是做数据采集用的。不知道什么情况下会导致这样的错误。