内で過去に書いたエントリの補足となるような良い説明資料があがっていましたので、こちらでも紹介します。このエントリを読む前に是非、過去の記事をご覧ください。スレッドの間にQueueを置いて、処理の効率化をはかっています。スレッドの数が5個だった場合に8クライアントから同時にファイル取得の要求が来た場合を想定します。待たなければなりません。I/Oのマルチスレッドサーバは高速に動作します。クライアントからのリクエスト数が膨大になった場合や、取得するコンテンツのサイズが大きい場合、もしくはコンテンツの取得に時間がかかるような場合、他のクライアントの要求に対して影響が大きいことがわかります。スレッドを効率的に利用することができるようになります。スレッドが8クライアントからの同時アクセスに対して、各スレッド毎で分割して処理できますので、誰か1人が大きなファイルを取得したとしても他の人に対して影響は少なくなります。I/Oの実装の恩恵を受ける事ができます。画像を使わさせて頂きました。私が作成した概念図より各スレッド毎に分割されて処理しているのが分かりやすいので、二つの資料を両方つかうとわかりやすいですね。使用に同意したとみなされます。