コンテンツへスキップ

C#のリモーティングで並行呼出できるメソッド数はいくつか?

たとえば、サーバ側で必ず一定時間スリープするメソッドを用意しておいて、そのメソッドをクライアントから同時にn回呼び出した場合に、n回の呼出はシーケンシャルに処理されるのか?それとも並行して処理されるのか?

以下の内容で、任意時間スレッドをスリープさせるメソッドを。Net Remotingを用いて呼び出す調査を行いました。

スレッド数200
スリープ時間120秒
オブジェクトの公開方法RemotingServices.Marshalメソッドによる公開

以下の結果が得られました。

  1. 200個のスレッドからの呼び出しは同時に並行処理されました

  2. 1回のメソッドの呼び出しに0.5s程度の時間がかかりました。

  3. 200回の呼び出しが完了するのに100s程度かかりました。

© 2003 Kurusugawa Computer Inc.