このアカデミック Web ページなど、マルチスレッド プログラミングに関するいくつかの調査を詳しく調べたThread
ところ、特定のサーバーに接続するクライアントごとに1 つ作成することが非常に一般的であることがわかりました。実際、まさにこれを行うクライアント/サーバー プログラムのサンプルをいくつか見つけました。(私はこの考えを採用しようとしましたが、今は疑問です。) Java: How to Program によると、 を使用してExecutorService
を作成および管理することをお勧めしThread
ますThread
。スレッドが作成および開始される順序に関係なく、システム。
やりたいこと
前述のように、Thread
クライアントごとに を作成するサーバーを作成しています。クライアントは私にデータを送信し、Thread
データを取得してファイルに保存し、データをログに記録します。
私の質問
を使用してExecutorService
を作成Thread
(およびそれらを管理) することは、各クライアントに を与えることと実質的に同じThread
ですが、より管理しやすいでしょうか? また、有名な「クライアントごとに 1 つのスレッド」というアイデアによって引き起こされるオーバーヘッドを排除できますか?