どこIOの伝統的な利点と、NIO(非ブロック入力および出力)とは何ですか

 

次のような利点は、NIOの下で、伝統的なIOに比べて言いました:

  1. 伝統的なIOデータ転送要求を処理する際、各送信のための要求は、スレッドを生成するには、IO例外は、スレッドがブロックされている場合、回復後IO処理スレッドウェイク。同時に多数の接続を処理する場合、多数のスレッドがインスタンス化されたオブジェクトです。インスタンス化と各スレッドの回復は、リソースを消費するTLABを割り当てるために、JVMの必要性を必要とし、その後、TLABを初期化し、最終的に結合スレッド、時間の終わりをスレッドとCPUリソースを必要TLABを回収する必要があります。
  2. NIOセレクタは、それぞれの処理イベント駆動型イベントIOを形成するために、ファイルディスクリプタ内部使用をポーリングIOストリームを使用するか、またはポーリングします。スレッドオブジェクトのほんの一例同時に、CPUリソースの利用効率を高めるために、複雑なを縫います。
  3. CPUタイムスライスに割り当てられ、単一間接物理コアマルチスレッドの形で各スレッドターン。より長いスレッド、短いか長い期間配分サイクルに割り当てられた各タイムスライス、スレッドの切り替えにCPUに費やした多くの時間。同期(SYNC Tlab)、同期メインメモリ変数に同期した、次のスレッドのデータをロードするなど、それらはCPUリソースのスレッドデータを切り替えるスレッドを含むスレッドを消費しています。
  4. 同時に多数の接続ではなく、多くのアクティブな接続を処理する場合、従来のIOに比べNIO入射応答モードは、優れた性能を有します。
  5. NIOのFileChannelまた、直接カーネルバッファを介してゲートウェイへのデータのゼロコピーの送信、従来に比べてIOの形で、データを直接物理(ハードディスクなど)から、ユーザ空間にコピーする必要はなく、ポールを提供性能を大幅に改善しました。
  6. NIO(ここでメモリは仮想メモリではなく物理メモリを指す)が直接メモリにマップされたファイルであろう、れるMappedByteBufferを提供し、大幅IOスループットを向上させることができます。

おすすめ

転載: www.cnblogs.com/szz1113/p/11511507.html