读书人

线程已经return 0了但GetExitCodeTh

发布时间: 2013-01-25 15:55:29 作者: rapoo

线程已经return 0了,但GetExitCodeThread的ExitCode一直是STILL_ACTIVE,检测代码如下:
for(int i = 0; i < m_nThreads; i++)
{
while(true)
{
DWORD dwExitcode = 0;
GetExitCodeThread(m_phWorkerThreads[i], &dwExitcode);
if(dwExitcode != STILL_ACTIVE)
break;
Sleep(1);
}
}

其中m_nThreads的数量是2;
m_phWorkerThreads是HANDLE数组,保存CreateThread时的HANDLE值。

搞不懂为什么线程已经return 0了,但GetExitCodeThread的ExitCode一直是STILL_ACTIVE。
[解决办法]
m_phWorkerThreads[0],你确定你这个线程退出了吗?
看看你的代码 这个m_phWorkerThreads[0]线程一直在,那你代码永远出不了while循环.

写法问题

读书人网 >VC/MFC

热点推荐