我有一个包含一个qudpsocket的Qthread(套接字不是Qthread :: run()的本地成员,也许我应该从正在阅读的内容中将其更改)。此Qthread在我的qmainwindow类中实例化,即GUI线程(我没有调用移动到线程)。使用waitforreadyread还是安全的,还是我绝对需要在main.cpp中实例化qthread或call movetothread()以使其安全。我会以当前的方式在呼叫中获得间歇性的双免费例外,以便waitforreadyread(有时3分钟后我有时几天都不会得到它)。

有帮助吗?

解决方案

看看 QT文档 为了 QUdpSocket. 。有一个注释解释课是 再入侵. 。也来自 QT文档:

...只要每个线程都使用类的不同实例,就可以从多个线程安全地调用其成员函数,据说将其成员函数安全。

因此,要回答您的问题,这并不重要 QThread 是,只要您确保 QUdpSocket 您正在使用的实例是在您使用的线程的上下文中实例化的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top