退出的Qt应用程序不会杀死派生的线程
Exiting Qt application does not kill spawned threads
我有一个Qt程序,使用QtConcurrent API来生成工作线程。我遇到的问题是,工作线程继续前进,即使我退出Qt应用程序。
我有一个actionExit在我的菜单,这是我用来关闭应用程序,或在窗口角的"X"。有没有办法让这些线程杀死与这个应用程序相关的所有线程?
谢谢
您确定UI应用程序真的关闭了吗?您可能缺少:
qApp->setQuitOnLastWindowClosed(true);
否则QT只会隐藏你的窗口。要进行调试,请将断点放在mainWindow->exec();
,看是否真的到达。
如果您确认exec()返回并且QTConcurrent确实挂起(可能是:http://lists.trolltech.com/qt-interest/2008-06/thread00414-0.html),那么执行:
exit(0);
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 在C++中使用cURL和多线程
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在cuda线程之间共享大量常量数据
- 如何将元素添加到数组的线程安全函数?
- 使用基类中的派生方法运行线程,而无需使用模板
- 在派生自线程类的构造函数中传递字符串
- c++ 在派生函数中启动 OMP 线程
- 线程中的虚拟呼叫忽略派生类
- 将派生类指针的向量传递给线程
- 如何使派生类函数作为线程的启动例程?
- 在c++中执行特定操作后从派生线程返回
- Std::thread在对象中派生的线程,它何时终止?
- 构造执行派生类成员函数的线程
- 退出的Qt应用程序不会杀死派生的线程
- 在派生的线程中启动进程
- setrlimit()不影响派生的std::线程
- 如何验证运行时失败是否是由于派生了太多线程造成的
- 管理派生类中的线程生命周期