gpt4 book ai didi

c++ - 有和没有事件循环的线程之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:00 25 4
gpt4 key购买 nike

带有事件循环的线程

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

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

没有事件循环的线程

创建并正在监听的 QTcpServer 对象。

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

传入连接如何?是否必须手动轮询?

最佳答案

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

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

在监听时,每次客户端发起新连接时,TCPServer 都会发出 newConnection() 信号,之后您可以使用 nextPendingConnection

检索它

关于c++ - 有和没有事件循环的线程之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19518262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com