如何在Qt队列中创建一步一步执行的线程(当一个线程完成另一个线程时)?
请给我一个代码示例?
答案 0 :(得分:2)
请看QThreadPool。
然而,正如弗兰克指出的那样,如果你们彼此执行一些事情,就不需要线程了。
答案 1 :(得分:1)
来自QThread对象的“finished()”信号。在您的线程管理器线程(即您的主qwidget或qmainwindow)中,您可以拥有一个队列管理器类,该类具有与此信号连接的插槽。当插槽从当前运行的线程接收完成的信号时,它将初始化并执行队列中的下一个线程。
这样可以防止管理器线程中的阻塞,并允许您在描述时从队列中执行这些线程对象。
确保每次响应完成的信号时,将下一个线程的完成信号连接到队列管理器插槽。如果当前没有其他线程正在运行,您还需要确保在“添加到队列”方法中启动该线程。