У меня есть этот дизайн. Я не мог добиться того, что мне нужно:Как синхронизировать между основным и рабочим потоком в Qt?
- B наследуется от A.
- А наследуется от QThread.
Моя цель - перезапустить (перезапустить) поток «рабочий», когда он завершил свою задачу. Я намерен вызвать деструктор рабочего потока для этого подхода, потому что он берет память из кучи. Мне нужно очистить все связанные переменные.
Как я могу это достичь?
int main()
{
// re-start start
A* worker = B::getInstance();
worker->start();
// re-start end
return a.exec();
}
Написание петли не является решением проблемы. Потому что мне нужно научиться, что рабочий поток полностью остановлен. Я попытался использовать worker-> wait(). Но это не работает.
На какой платформе вы находитесь? – 2009-04-20 13:38:02
Вопрос для меня немного неясен. Почему wait() не работает? Как код относится к вопросу? – jpalecek