奇怪!高手请进!
void Function3()
{
...
hFun3ThreadHandle=CreateThread(...);
...
}
UINT Function2(LPVOID pParam)
{
...
Funciton3(); //Function3也创建一个线程hFun3ThreadHandle并运行之
::WaitForSingleObject(hFun3ThreadHandle,INFINITE);
MessageBox(NULL,"finished","Ok",MB_OK);
return 0;
}
void CMainFrame::OnFunction1()
{
...
COneDlg dlg;
if(IDOK==dlg.DoModal())
{
...
CWinThread* pThread=AfxBeginThread (Function2,0,THREAD_PRIORITY_NORMAL,0,
0,0);
}
}
现在:发现开始时程序运行正常(CPU得使用<5%),但是一旦出现MessageBox()提示后,程序开始“无响应”,必须强制关闭它,此时从任务管理器可看见CPU使用是100%,我认为此时的程序应该结束了(实际上,程序的功能也是已经实现了),但是不知道为什么会出现这种情况阿?