2011-06-23 11 views
1

これはかなり基本的な質問ですが、私はTwistedの新機能です。原子炉のループが正確に同じタイムアウト値の2つのcallLatersに遭遇し、また着信パケットに遭遇した場合、どのようにそれが3をスケジュールするか?Twistedでのイベントスケジューリング

答えて

3

callLatersは、登録した順序で起動します。パケットの到着は、パケットが到着したときのイベントループでの実行ポイントに応じて、callLatersの前後に発生する可能性があります。

3

ここに決定的なルールはありません。異なる原子炉は異なる戦略を実施することができる。一般に、これらの実装は多少アドホックであり、あまりうまく設計されていませんが、異なるイベントソースに深く依存する依存関係を持つほとんどのアプリケーションは実際にはバグが多いので、修正する動機はあまりありません。これらの基本的に非決定的な出来事がどのような順序で到着するかを気にしてください。