I / Oの多重化メカニズムをノンブロッキング

余談:この引数は、あまりにも人気があり、一般の人々に人気がそれが何を意味するのか理解していないので、私たちは今、慎重に、I / Oの多重化メカニズムについてお話します。ボーはメタファーを打つ:都市におけるS小唄は、宅配便の店をオープンし、街は高速配信サービスを担当しています。速達車を買うのに十分な理由は資金調達の制約の小唄、宅配便のグループを雇った場合、小唄は十分なお金を見つけ、。


動作モード
のクライアントそれぞれが小唄は、宅配便は宅配便速達に運転し、その後、見つめてみましょう、宅配便を送りました。ゆっくり小唄は、この動作モードに問題がある発見しました

  • 急行を送信することができます車をつかん宅配時間の数十費やされている基本的に車を奪った、宅配便のほとんどがアイドル状態にあり、

  • 急行の増加に伴い、宅配便より多く、店より多くの混雑した特急の小唄は、新たな宅配便を雇うのない方法を見つけるん

  • 宅配便間の調整は、多くの時間を要し

以下の動作モードを前方に置くためにこれらの欠点、歌やハードワークを取ります


動作モードは2
曲のみ宅配便を雇います。そして、顧客が一箇所に回した後、宅配便、良い曲でマークされた配信場所を送りました。最後に、宅配便速達を拾うために、テイク一度、そして勝つために戻ってくるために宅配便を送信するために良い、速達に行きました。

コントラスト
操作の上記2つのモードの比較、その第二の、より高い効率、より良いまだ明らかではありません。たとえ話には:

  • 各宅配便------------------>各スレッド

  • 各送達-------------------->各ソケット(I / Oストリーム)

  • 異なる状態のソケットの配信場所-------------->エクスプレス

  • お客様のご要望速達-------------->クライアントからの要求

  • 操作-------------->実行サーバー側のコードの小唄モード

  • 監査車----------------------> CPU年代

 

だから我々は以下の結論持って
1を、動作モードは、従来の同時実行モデルでは、各I / Oストリーム(エクスプレス)は、新しいスレッド(宅配便)の管理を持っています。
図2は、第二のI / O多重動作モードです。単一のスレッド(宅配便)は、各I / Oストリーム(それぞれが配信場所を発現する)の状態を追跡することによってI / Oストリームの複数を管理します。

図に示した実際のRedisのスレッドモデルを次のように類推、。


図を参照して、簡単に言えば、それはあります。私たちのRedisクライアント動作時には、さまざまな種類のイベントでソケットを生成します。キューに入れられたサーバーでは、いくつかのI / 0多重化プログラム、。次に、ファイルイベントディスパッチャは、キューを得るために、さまざまなイベントハンドラに転送しました。
I / Oの多重化メカニズムは、Redisのも、このような多重化機能ライブラリとして選択し、ファイルディスクリプタ、evport、kqueueのを提供することに留意されたい、あなたは自分自身を知ることができます。

 

おすすめ

転載: www.cnblogs.com/zuichuyouren/p/11122674.html