2017-01-13 8 views
3

バッファリングされたストリームは「通常の」ストリームよりも優れています。なぜなら、システムコールが少なくて済むため、ほとんどの場合は高速です。その議論はインターネット上のいたるところにありますが、「正常な」ストリームがバッファされたストリームよりも優れている場合、私は例を見つけることができません。 「通常の」ストリームがバッファリングされたストリームより速い場合、誰かが説明したり、例を挙げたりすることはできますか?常にバッファリングされたストリームを使用するのはなぜですか?

答えて

0

可能な答え

  • の数、それがどこか別の場所にバッファリングされています。誤った順序付けや紛失が許容される場合には、バッファリングの複数のレイヤーを持つことは非効率的で余分なコピーを招きます。場合によっては、最新のデータが失われてもデータが失われても気にしないプロトコルを扱っていることがあります。他の時には、非同期的に処理を行うときに、バッファなしで誤った順序をより効率的に処理することができます。
  • バッファに蓄積するのではなく、データの到着にすぐに反応したいことがあります。
0

通常、プログラムが他のプログラムと通信する必要がある場合は、バッファリングをオフにします。ストリームがバッファリングされている場合、メッセージは決して通過せず、決して来ない応答を待ってシステムがハングします。

関連する問題