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, … */
}
}
私のプログラムは「実行」メソッドの「else」に入らず、状態がロードされていない間、プログラムは「this->thread->get()」でスタックします。
どうすればそれを処理できますか?
ありがとう!