SocketServer在serve_forever后继续执行
我正在用Python的SocketServer模块来实现一个简单的嵌入式网页服务器。在目前的做法中,我是在一个专门的线程里调用serve_forever方法,这样我的应用程序才能继续运行。
我在想,是否有更符合Python风格的方法来启动我的SocketServer,并让我的应用程序继续执行。
1 个回答
16
这是一种非常符合Python风格的方法:
threading.Thread(target=myServer.serve_forever).start()
我觉得这段代码没有什么不清楚或者啰嗦的地方。如果你想让程序在主线程结束后自动退出,可以在调用Thread
的时候加上daemon=True
。
另外一种方法是自己在循环中调用handle_request
,但这似乎不太适合你作为一个网页服务器的情况。