1

マルチスレッド アプリケーションで Mac 上の SL に関する奇妙な問題に取り組もうとしています。私のアプリケーションでは、ThreadPool を使用して、さまざまな作業項目をキューに入れています。HandleRequest経由でのみ呼び出されるメソッドがありThreadPool.QueueUserWorkItem(new WaitCallback(HandleRequest))ます。

アプリケーションの実行速度が非常に遅かったため、Windows からリモート デバッグし、アプリケーションを一時停止して、限られたリソースで待機しているために HandleRequest でスタックしているスレッドを見つけました。そこには別の問題があるので、それは問題ありませんが、メイン スレッドで待機している HandleRequest があることにも気付きました。どうすればそれが起こりますか?ThreadPool がバックグラウンドでワーカー スレッドを作成し、その上でタスクを実行していると思いました。

これは、ThreadPool がワーカー スレッドを使い果たしたため、呼び出し元のスレッドを使用してコールバック メソッドを実行しようとしたために発生しているのでしょうか?

4

0 に答える 0