4

ツイストリアクターを使用して、ソケット入力をブロックしないようにしています。ただし、リアクターの実行開始後に別のループを実行したい

.....
reactor.listenTCP(12345, MyFactory())
reactor.run()

# ... blah blah socket input related code
while 1:
    ...
    ...
    if something:
       reactor.stop()

問題はreactor.run()whileループが機能しない後です。mainte = Thread(target=reactor.run, args=(False,)).start()でスレッドを使用するのではなく、他の方法reactor.run()でノンブロッキングに取り組むことができますか?

ありがとうございました。

4

1 に答える 1

5

reactor.run()ブロッキングコールです。別のスレッドでループを実行するようなことをする必要があります。このように、ループは実行されますが、何らかの外部イベントまたは信号を介してリアクターを停止できた場合に限ります。その時点で、への呼び出しreactor.run()が返され、残りのコードが実行されます。

私は実際にreactor.run()自分自身をブロックしない方法で呼び出す方法を探しています。誰かがそれを行う方法を持っているなら、私はそれについて聞きたいです.

于 2014-11-08T17:32:40.337 に答える