Twisted中的非阻塞服务器

2024-10-01 13:26:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在构建一个需要在主线程之外的线程上运行TCP服务器的应用程序。尝试运行以下代码时:

reactor.listenTCP(ServerConfiguration.tcpport, TcpCommandFactory())
reactor.run()

我得到以下错误

exceptions.ValueError: signal only works in main thread

我可以在主线程之外的线程上运行twisted服务器吗?在


Tags: run代码服务器应用程序错误线程主线exceptions
1条回答
网友
1楼 · 发布于 2024-10-01 13:26:58

Twisted可以在任何线程中运行,但一次只能运行一个线程。如果想在非主线程中运行,只需执行reactor.run(installSignalHandlers=False)。但是,您不能在非主线程上使用reactor来生成子进程,因为它们的终止永远不会被检测到。(这是UNIX的一个限制,实际上,不是Twisted的限制。)

相关问题 更多 >