我想在 c++11 中检测线程结束,但我不知道该怎么做,它看起来像那个“get”块程序,这是我所做的:
void Object::init()
{
this->thread = std::async( std::launch::async, &State::load, stateInstance );
}
/* A method in a loop */
void Object::run()
{
bool ready = this->thread.get();
if( ready )
{
/* do something */
}
else
{
/* draw interface, manage event, … */
}
}
我的程序在“run”方法中没有进入“else”,程序在未加载状态时卡在“this->thread->get()”上。
我该如何处理?
谢谢!