質問

ユーザーごとにスレッドを作成するのとは異なる方法で機能していることを理解しています。それはどのように正確に機能しますか?

(「非ブロッキング」には何か関係がありますか?)

役に立ちましたか?

解決

ねじれたドキュメントから:

反応器は、ツイスト内のイベントループのコアです。これは、ツイストを使用してアプリケーションを駆動するループです。イベントループは、プログラム内のイベントまたはメッセージを待機して発送するプログラミングコンストラクトです。通常、イベントが到着するまでブロックする内部または外部の「イベントプロバイダー」を呼び出し、関連するイベントハンドラー(「イベントを派遣する」)を呼び出します。原子炉は、ネットワーク通信、スレッド、イベントディスパッチなど、多くのサービスに基本的なインターフェイスを提供します。

参照してください http://en.wikipedia.org/wiki/event_loop

ノンブロッキング 1つのスレッドで複数のソケット(またはより一般的には、2つ以上のイベントソースから)でイベントを処理する場合は、使用できません。 ブロッキング これらのイベントを処理する操作。最初のソケットでブロッキングを読むと、最初のソケットにいくつかのバイトが到着するまで、2番目のソケットから読み取ることができません。これはあまりうまくいきません。最初に読み取るバイトがあるソケットが実際にわからないからです。代わりに、あなたはようなものを使用します select (上記のWikipediaページの詳細について詳しく説明している)。どのソケットにバイトがあるかを伝え、ブロッキングせずにそのソケットからそれらを読み取ります。

これは、すべてのイベントソースからイベントを次々にサービスし、それらをすべて同時に処理するように見えることを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top