【发布时间】:2017-04-17 04:17:45
【问题描述】:
我有一个应用程序,我应该使用 QWebSocketServer 来接受和解析来自 Bokeh 应用程序的一些套接字消息。到目前为止我能够做到这一点,但现在我想将整个 QWebSocketServer 移动到另一个线程中,这样它就不会打扰主 GUI。主要问题是 QWebSocketServer 是否会影响 GUI?
GUI 是 QWebSocketServer 的父级,我无法将其移动到另一个线程。如果我继承 QThread 类,这会起作用吗?
我知道我不应该继承 QThread 类和重载运行方法。我只是想知道这是否可能。
仅供参考:我在 Raspberry pi 中完成所有这些工作,而 raspberry pi 必须收集大量数据。
【问题讨论】:
-
Web 套接字是异步操作的,那么为此使用线程有什么意义呢?对我来说,这听起来像是过早的优化。这会在 GUI 中造成什么特定问题?
-
此时它不会造成任何问题,因为GUI在这个阶段很小,但在后期它会变得相当大。我只是想知道是否可以将服务器移动到另一个线程。
-
但何必呢?它会解决什么实际问题?
-
嗯,如果 Websocket 连接出错或有大量信息要通过 websocket 发送,则 GUI 不会无响应。它真的会影响 GUI 吗?
-
这是网络IO,是异步的。你为什么不正确地测试一下,看看实际发生了什么?
标签: qt user-interface websocket pyqt qthread