2

マルチスレッド Web サービスを実装しています。着信要求ごとにスレッドが生成されます。クライアントごとにセッションが作成され、各セッションにはデータ セクション (DOM ツリーなど) が含まれます。クライアント リクエストは基本的に get/set メソッドであり、サーバーは DOM の読み取り/書き込みを行います。

したがって、DOM データはクライアントごとです。

ここで私の質問は、サーバーはこの DOM ツリーをクリティカル セクションとして扱うべきかということです。

基本的に問題は、サーバーが同じクライアントにサービスを提供している 2 つのスレッドを持つシナリオがあるかということです。

リクエスト/レスポンスは TCP 経由の SOAP です。私の理解では、クライアントがマルチスレッドであっても、tcp クライアントは同時リクエストを送信できません。したがって、サーバー側では、2 つのスレッドが同じクライアント用であるという状況は発生しません。私が間違っている場合は訂正してください。私は tcp/ip クライアント サーバー プログラミングは初めてです。

ありがとう。

4

3 に答える 3

0

サーバーのドキュメントで確認する必要があります。高度なサーバーでは、ほとんどの場合、要求処理戦略を構成できます (たとえば、シーケンシャル、接続ごとのスレッド、要求ごとのスレッド、スレッド プールなど)。

マルチスレッドの場合、クライアントが同時にリクエストを送信できるのではないかと心配しています。

于 2009-03-25T19:31:30.120 に答える
0

リクエストごとのスレッドは、リクエストのレートが高いほど適切にスケーリングされないことを考慮する必要があります。ほとんどの場合、スレッド切り替えを行う時間が失われます。

于 2009-03-17T19:28:41.340 に答える