SocketServer在serve_forever后继续执行

8 投票
1 回答
8411 浏览
提问于 2025-04-16 21:12

我正在用Python的SocketServer模块来实现一个简单的嵌入式网页服务器。在目前的做法中,我是在一个专门的线程里调用serve_forever方法,这样我的应用程序才能继续运行。

我在想,是否有更符合Python风格的方法来启动我的SocketServer,并让我的应用程序继续执行。

1 个回答

16

这是一种非常符合Python风格的方法:

threading.Thread(target=myServer.serve_forever).start()

我觉得这段代码没有什么不清楚或者啰嗦的地方。如果你想让程序在主线程结束后自动退出,可以在调用Thread的时候加上daemon=True

另外一种方法是自己在循环中调用handle_request,但这似乎不太适合你作为一个网页服务器的情况。

撰写回答