Я хотел бы, чтобы обнаружить конец нити в C++ 11, но я не знаю, как это сделать, это выглядеть, что блок программы «получить», вот что я сделал:Обнаружить конец нити
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» в методе «run», программа застревает в «this-> thread-> get()», а состояние не загружается.
Как я могу справиться с этим?
Спасибо!
Ну, вы подтвердили, что 'государство :: load() 'на самом деле закончится? –
Да, Состояние :: конец загрузки ~ 3 секунды спустя, но выполнение блока «get». (В «else» я хотел бы анимировать загрузчик) – LongDuZboub
Мне нравится, как вы назвали «будущий» поток. Вы знаете, просто для путаницы:/ – sehe