首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

线程已经return 0了,但GetExitCodeThread的ExitCode一直是STILL_ACTIVE,检测代码如上

2013-01-25 
线程已经return 0了,但GetExitCodeThread的ExitCode一直是STILL_ACTIVE,检测代码如下:for(int i 0 i

线程已经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循环.

写法问题

热点排行