0

1つのクライアントを処理する1つのスレッドと、接続しているがサーバーがビジーであることを伝える別のスレッドを開始する方が良いですか、それとも同じスレッドがクライアントを受け入れて処理するシングルスレッドのアプローチに固執する必要があります。繋がらない?(もちろんその場合は)

編集: 239482340 人が接続するわけではないことに注意してください。通常、サーバーに接続するのは 1 人だけですが、別の人が接続しようとしても、転倒することなくアプリで処理したいと考えています。

4

2 に答える 2

0

この種のシステムを構築するために、一般的に 2 つの主要な戦略が使用されます。

  • 各受信要求に異なるスレッドまたはプロセスを割り当てる、マルチスレッド戦略に基づくソリューション。このモデルは、多くの商用サーバーで使用されています
  • イベント ドリブン モデルは、ノンブロッキング I/O 操作の使用に基づいており、異なるクライアントからの多数の要求に同時に応答します。これは成長しているアプローチです。
于 2013-02-24T20:21:06.313 に答える
0

リソースの消費が非常に少ないため、単一のスレッドに固執する方がサーバーにとっては優れています。ただし、サーバーに問題があるのか​​、それとも単にビジーなのかがわからないため、これはおそらくクライアントにとって迷惑です。

サーバーがビジーであることを追加のユーザーに通知するスレッドを持つことは、より多くのリソースを消費しますが、クライアントにとってはより良い方法です。

あなたの特定のケースでは、どちらのアプローチでも問題ありません。それは本当にクライアントと彼らが何を望んでいるかに依存すると思います... :-/

于 2013-02-24T20:14:25.110 に答える