我有这个设计。我无法实现我需要的:
- B 继承自 A。
- A继承自QThread。
我的目标是在完成任务后重新启动(重新运行)到“工作”线程。我打算为此方法调用工作线程析构函数,因为它从堆中获取内存。我需要清理所有相关变量。
我怎样才能做到这一点?
int main()
{
// re-start start
A* worker = B::getInstance();
worker->start();
// re-start end
return a.exec();
}
编写 for 循环不是解决方案。因为,我需要了解工作线程是否已完全停止。我尝试使用 worker->wait()。但它不起作用。
最佳答案
如何使用QThread
的信号finished()
?
关于c++ - Qt中如何同步主线程和工作线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/768276/