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