c++ - Qt中如何同步主线程和工作线程?

标签 c++ multithreading qt synchronization

我有这个设计。我无法实现我需要的:

  • 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/

相关文章:

c++ - Qt 创造者。从文件中读取并在 beaggleboard 上打印出来

multithreading - torch -多线程将张量加载到队列中以进行训练

c++ - 为什么 QWebFrame::evalutateJavaScript 在这种情况下什么都不做?

c++ - 添加到 char 数组不起作用

c++ - 声明变量时 : variable not declared in this scope

java - 如何先完成Thread_Square然后完成Thread_Cube

c++ - 策略模式 Qt 模糊基础

python - 调整列宽以适应 QTableWidget pyqt

c++ - STL 是否包含适用于数组的迭代器?

python - 男女通用浴室 : Threading in Python