我有创建和启动线程的代码:
CWinThread *m_pThread;
m_pThread = AfxBeginThread(StartThread, m_pObj, THREAD_PRIORITY_NORMAL, CREATE_SUSPENDED, 0);
m_pThread->m_bAutoDelete = FALSE;
m_pThread->ResumeThread();
这是我的功能。它等待完成这个线程,因为我想开始新的线程:
void Some()
{
m_pObj->bRefresh = true;
DWORD dw = ::WaitForSingleObject(m_pThread->m_hThread, INFINITE);//hangs and doesn't move anywhere
}
但是从我的线程回来很好。
请帮我找到我做错了什么?
UINT StartThread(LPVOID lpParam)
{
Obj *pObj = (Obj*)lpParam;
while(!pObj->Refresh)
{}
return 0;
}
答案 0 :(得分:0)
主要问题是我无法从循环返回,这就是我的线程挂起的原因 非常感谢重播