1

带有事件循环的线程

我们在一个单独的线程中创建了一个 QTcpServer 对象,它正在侦听传入的连接并在它们发生时对其进行处理。在某些时候,它被删除了,并且没有任何东西可以在线程中生成事件。

如果不手动删除,线程是否会进入无限块(使用内存但没有 cpu)?

没有事件循环的线程

一个 QTcpServer 对象已创建并正在侦听。

QTcpServer.listen()是否阻止线程运行所有代码并自然完成?

传入的连接呢?是否必须手动轮询?

4

1 回答 1

1

finished将线程的信号连接到它自己的槽是一种很好的做法,deleteLater这样它就可以自行清理,但是如果你保留一个指向 QThread 的指针,这可能会导致指针悬空

QTcpServer.listen()将立即返回它只是激活端口

newConnection()每次客户端启动新连接时,TCPServer 都会发出一个信号,之后您可以使用它来检索它nextPendingConnection

于 2013-10-22T13:06:07.740 回答