2017-01-07 5 views
0

イベントドリブンプログラミングのパラダイムに新しく、Twistedについて読んでいました。原子炉、 How does Python's Twisted Reactor work?Twistedの原子炉がブロックしている時にイベントが発生するとどうなりますか?

timeout = time_until_next_timed_event() 
events = wait_for_events(timeout) 
events += timed_events_until(now()) 

については、この質問には

は、論理的にtimeout = time_until_next_timed_event()12 Hoursとして計算、およびevent = wait_for_events(timeout)外部トリガが発生しないので、ちょうど12 Hoursを待ち、それだけで提供逃したシナリオは存在しないだろう理想的にそれが持つことができる任意のtimed_events_until(now())イベント?それは妥協ではありませんか?

私は何かが欠けていると確信しています。誰も論理的な観点からこれを明確にすることはできますか?

答えて

2

次のタイミングイベントが12時間後の場合、定義により、timed_events_until(now())がイベントを返すまで12時間になります。

+0

お返事ありがとうございます!つまり、このシステムで**内部**(モニタリングしているものとは別に**外部的に**)はありません**というのは、** timed **イベントを発生させることができるということです**これは**シングルスレッド**で* *のみ**仕事はしています**外部入力の**待ちますか?そしてそれはすべて意味をなさない。それらの外部イベントの1つがタイムイベントを引き起こす可能性がありますが、** nextループ**の一部として注意を払いますので、それも問題ありません。私の質問が理にかなってほしい。あなたの考えを私に教えてください。 – Nishant

+0

これを尋ねる別の方法は、このようなシステムでは、待機中に発生するTimed Eventsはありません。それは何かできるのは外部イベント(通常はサーバーはクライアントによって駆動される)に基づいているからです。 – Nishant

+1

次のタイムイベントがいつ発生するのかを知っています(「タイムド」とは、特定のタイミングで発生します)。だから私たちはどれくらいの時間眠っているのです。朝の会合で眠れないのはなぜですか?あなたが眠る前に、あなたは翌日のあなたのカレンダーを見て、適切な時間にあなたの目覚まし時計をオフにするように設定します。私はこれが思っているより簡単だと思います:-) –

関連する問題