问题描述
我具有以下功能:
//m_hTesterPresent is a boost::thread*
unsigned long Class::fn_StopTesterPresentThread()
{
// Check if tester-present is running,close it
if (m_hTesterPresent)
{
m_bTesterPresentRunning = FALSE;
WaitForSingleObject(m_hTesterPresent,INFINITE);
m_hTesterPresent->~thread();
//CloseHandle(m_hTesterPresent);
m_hTesterPresent = NULL;
}
return ACTION_SUCCESS;
}
我将如何等待m_hTesterPresent
处理的线程完成,模拟WaitForSingleObject
Windows函数?
任何帮助表示赞赏!
解决方法
m_hTesterPresent->~thread()
吗?您认为那是什么?我们看不到所有代码,但这几乎可以肯定是错误的。
最后一句话的答案是boost::thread::join
,但是~thread
这一行表明您可能错误地使用了boost::thread
,因此join
似乎失败了。 / p>