在 Qt 中收集线程

Dza*_*kub 5 c++ oop qt multithreading

我正在寻找一种方法来让我的一个班级创建的所有线程让我使用它们(线程是根据用户动态创建的,我无法预测在我的应用程序运行时将有多少线程在工作)。有没有一种好方法来获取所有线程对象指针并将它们放在一个地方以便我可以操纵这些线程?

Chr*_*wet 5

首先,最好的解决方案肯定是跟踪QThread创建的 。即使它们是“即时”创建的,您也应该能够存储指向它们的指针,甚至是全局的。

假设他们至少是相同的QObject,你可以使用:

QList<QThread*> QObject::findChildren <QThread*> () const
Run Code Online (Sandbox Code Playgroud)

找到所有孩子QThread