1つのクライアントを処理する1つのスレッドと、接続しているがサーバーがビジーであることを伝える別のスレッドを開始する方が良いですか、それとも同じスレッドがクライアントを受け入れて処理するシングルスレッドのアプローチに固執する必要があります。繋がらない?(もちろんその場合は)
編集: 239482340 人が接続するわけではないことに注意してください。通常、サーバーに接続するのは 1 人だけですが、別の人が接続しようとしても、転倒することなくアプリで処理したいと考えています。
1つのクライアントを処理する1つのスレッドと、接続しているがサーバーがビジーであることを伝える別のスレッドを開始する方が良いですか、それとも同じスレッドがクライアントを受け入れて処理するシングルスレッドのアプローチに固執する必要があります。繋がらない?(もちろんその場合は)
編集: 239482340 人が接続するわけではないことに注意してください。通常、サーバーに接続するのは 1 人だけですが、別の人が接続しようとしても、転倒することなくアプリで処理したいと考えています。
この種のシステムを構築するために、一般的に 2 つの主要な戦略が使用されます。
リソースの消費が非常に少ないため、単一のスレッドに固執する方がサーバーにとっては優れています。ただし、サーバーに問題があるのか、それとも単にビジーなのかがわからないため、これはおそらくクライアントにとって迷惑です。
サーバーがビジーであることを追加のユーザーに通知するスレッドを持つことは、より多くのリソースを消費しますが、クライアントにとってはより良い方法です。
あなたの特定のケースでは、どちらのアプローチでも問題ありません。それは本当にクライアントと彼らが何を望んでいるかに依存すると思います... :-/