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

创建线程返回CWinApp指针,能否通过此指针判断线程是否已经关闭,该如何解决

2012-03-28 
创建线程返回CWinApp指针,能否通过此指针判断线程是否已经关闭C/C++ codeCWinThread* pThread AfxBeginT

创建线程返回CWinApp指针,能否通过此指针判断线程是否已经关闭

C/C++ code
CWinThread* pThread = AfxBeginThread(ThreadProc, (LPVOID)GetSafeHwnd());UINT __cdecl ThreadProc(LPVOID lParam){ HWND hWnd = (HWND)lparam; MSG msg; while(GetMessage(&msg, NULL, 0, 0)) {   switch(msg.message)   {    case xxx:    ...   }   TranslateMessage(&msg);   DisaptchMessage(&msg);  } return 0;}pThread->PostThreadMessage(WM_QUIT);.....

问题1:MSDN说要结束线程用AfxEndThread或者让一个工作线程自动返回结束,此处用WM_QUIT去退出结束对不对,可是这个线程是一个工作线程吗?这样结束会不会有资源泄露

问题2:WM_QUIT响应完后能否通过pThread判断此线程是否已经退出了,调试了几次,线程退出后指针值都没变,线程句柄和几个其他成员变量都变成了0xfeeefeee,这个值是必然的吗


[解决办法]
WaitForSingleObject(pThread->m_hThread,0)
如果返回值是0就已结束

热点排行