在 Qt 中,您如何在 QThreadPool 中保持线程处于活动状态;据我所见,只有一个运行 QRunnable 的选项,我被告知他们无法控制它们所在的线程。我将如何使用线程池使套接字保持活动状态并准备好读写?
问问题
920 次
2 回答
1
QThreadPool管理自己的线程。QT Doc 说
QThreadPool 管理和回收各个 QThread 对象,以帮助减少使用线程的程序中的线程创建成本。
所以你不应该试图让线程保持活动状态。这打破了线程池的目的。
QT 套接字也被设计为与主事件循环一起工作。你为什么不尝试使用它们?
于 2011-05-31T10:40:13.620 回答
0
a) 只需使用 QThread 后代,而不是线程池。
b) 不要将套接字绑定到线程——当 select() 返回时,分配一个线程来处理套接字事件。
Rgds,马丁
于 2011-05-31T10:48:22.053 回答