QWebSocketServer 到不同的线程
QWebSocketServer to different thread
我有一个应用程序,我应该在其中使用 QWebSocketServer 来接受和解析来自 Bokeh 应用程序的一些套接字消息。到目前为止我能够做到这一点,但现在我想将整个 QWebSocketServer 移动到另一个线程中,这样它就不会打扰主 GUI。主要问题是 QWebSocketServer 是否会影响 GUI?
GUI 是 QWebSocketServer 的父级,我无法将其移动到另一个线程。如果我继承 QThread class 这会起作用吗?
我知道我不应该继承 QThread class 和重载 运行 方法。我只是想知道这是否可能。
仅供参考:我在 Raspberry pi 中完成了所有这些工作,raspberry pi 必须收集大量数据。
我在没有父级的情况下初始化了 QWebSocketServer 并将其移动到另一个线程并且它工作了。不知道我做的对不对
我是这样做的 :-
self.server = SocketServer()
self.serverThread = QThread()
self.server.moveToThread(self.serverThread)
这里的SocketServer是继承QObject()
的服务器class,QWebSocketServer
定义在其中,没有任何父
这是 SocketServer
class 的一小段:-
onMessageRecieved = pyqtSignal(str)
serverObject = QWebSocketServer("My Server",QWebSocketServer.NonSecureMode)
def __init__(self,parent=None):
super().__init__(parent)
self.server = QWebSocketServer(self.serverObject.serverName(),self.serverObject.secureMode(),parent)
别忘了启动线程。
我有一个应用程序,我应该在其中使用 QWebSocketServer 来接受和解析来自 Bokeh 应用程序的一些套接字消息。到目前为止我能够做到这一点,但现在我想将整个 QWebSocketServer 移动到另一个线程中,这样它就不会打扰主 GUI。主要问题是 QWebSocketServer 是否会影响 GUI?
GUI 是 QWebSocketServer 的父级,我无法将其移动到另一个线程。如果我继承 QThread class 这会起作用吗?
我知道我不应该继承 QThread class 和重载 运行 方法。我只是想知道这是否可能。
仅供参考:我在 Raspberry pi 中完成了所有这些工作,raspberry pi 必须收集大量数据。
我在没有父级的情况下初始化了 QWebSocketServer 并将其移动到另一个线程并且它工作了。不知道我做的对不对
我是这样做的 :-
self.server = SocketServer()
self.serverThread = QThread()
self.server.moveToThread(self.serverThread)
这里的SocketServer是继承QObject()
的服务器class,QWebSocketServer
定义在其中,没有任何父
这是 SocketServer
class 的一小段:-
onMessageRecieved = pyqtSignal(str)
serverObject = QWebSocketServer("My Server",QWebSocketServer.NonSecureMode)
def __init__(self,parent=None):
super().__init__(parent)
self.server = QWebSocketServer(self.serverObject.serverName(),self.serverObject.secureMode(),parent)
别忘了启动线程。