Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
メイン以外のスレッドでTCPサーバーを実行する必要があるアプリケーションを構築しています。次のコードを実行しようとすると:
reactor.listenTCP(ServerConfiguration.tcpport, TcpCommandFactory()) reactor.run()
次のエラーが発生します
exceptions.ValueError:シグナルはメインスレッドでのみ機能します
メイン以外のスレッドでツイストサーバーを実行できますか?
Twistedは任意のスレッドで実行できますが、一度に実行できるのは1つのスレッドのみです。非メインスレッドで実行する場合は、単に実行しますreactor.run(installSignalHandlers=False)。ただし、サブプロセスの終了が検出されないため、非メインスレッドでreactorを使用してサブプロセスを生成することはできません。(これはUNIXの制限であり、実際にはTwistedの制限ではありません。)
reactor.run(installSignalHandlers=False)