2012-03-18 33 views
2

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

+0

为什么你会想‘预言’?如果这是你的班级创建线程,你有什么预测? – 2012-03-18 12:35:43

+0

好吧,我的意思是我无法预测将创建多少个线程。我只是想把它们放在某个地方让我和他们一起工作。我需要更新活动线程列表并从列表中删除不再处于活动状态的线程。 – Dzakub 2012-03-18 12:50:44

回答

3

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

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

QList<QThread*> QObject::findChildren <QThread*>() const 

要查找所有孩子QThread

+0

是的,他们是父亲,这是我正在寻找的解决方案。谢谢! – Dzakub 2012-03-18 13:05:41