2

このアカデミック Web ページなど、マルチスレッド プログラミングに関するいくつかの調査を詳しく調べたThreadところ、特定のサーバーに接続するクライアントごとに1 つ作成することが非常に一般的であることがわかりました。実際、まさにこれを行うクライアント/サーバー プログラムのサンプルをいくつか見つけました。(私はこの考えを採用しようとしましたが、今は疑問です。) Java: How to Program によると、 を使用してExecutorServiceを作成および管理することをお勧めしThreadますThread。スレッドが作成および開始される順序に関係なく、システム。


やりたいこと

前述のように、Threadクライアントごとに を作成するサーバーを作成しています。クライアントは私にデータを送信し、Threadデータを取得してファイルに保存し、データをログに記録します。


私の質問

を使用してExecutorServiceを作成Thread(およびそれらを管理) することは、各クライアントに を与えることと実質的に同じThreadですが、より管理しやすいでしょうか? また、有名な「クライアントごとに 1 つのスレッド」というアイデアによって引き起こされるオーバーヘッドを排除できますか?

4

1 に答える 1

1

ExecutorService を使用して Threads を作成 (およびそれらを管理) することは、各クライアントに Thread を与えることと実質的に同じですが、より管理しやすいでしょうか?

はい

また、有名な「クライアントごとに 1 つのスレッド」というアイデアによって引き起こされるオーバーヘッドを排除できますか?

番号。オーバーヘッドは通常、スレッド プールを使用しても変更されないアクティブなスレッドの数に基づいています。

于 2013-08-11T12:37:24.330 に答える