如何在Qt队列中创建多个线程?

时间:2011-09-03 11:31:22

标签: c++ multithreading qt

如何在Qt队列中创建一步一步执行的线程(当一个线程完成另一个线程时)?

请给我一个代码示例?

2 个答案:

答案 0 :(得分:2)

请看QThreadPool

然而,正如弗兰克指出的那样,如果你们彼此执行一些事情,就不需要线程了。

答案 1 :(得分:1)

来自QThread对象的“finished()”信号。在您的线程管理器线程(即您的主qwidget或qmainwindow)中,您可以拥有一个队列管理器类,该类具有与此信号连接的插槽。当插槽从当前运行的线程接收完成的信号时,它将初始化并执行队列中的下一个线程。

这样可以防止管理器线程中的阻塞,并允许您在描述时从队列中执行这些线程对象。

确保每次响应完成的信号时,将下一个线程的完成信号连接到队列管理器插槽。如果当前没有其他线程正在运行,您还需要确保在“添加到队列”方法中启动该线程。