1

私のサービスのスレッド数が異常に増えています。

接続が必要になるたびに、新しい tcpclient を作成します。これは taskfactory によって処理され、longrunning タスク フラグが付けられます。

私は 2 つの並行バッグと manualresetevents を使用します。コードはオブジェクトを適切に破棄し、(私の知る限り) ぶら下がっているものは何もありません。

問題は Windows XP マシンでのみ発生し、Windows 7 は問題ありません。だから私はそれがコードではないと思います。

PC のスレッドプールがどれくらいビジーかを確認する方法はありますか?

私はすでにそれについてここに投稿しました

アドバイスをいただければ幸いです。

添付のスクリーンショットは問題を示しています

ありがとうルーク

4

1 に答える 1

2

ThreadPool から利用可能なスレッドを取得してみてください: http://msdn.microsoft.com/en-us/library/system.threading.threadpool.getavailablethreads%28v=vs.90%29.aspx

アマチュア以外のソリューションを開発している場合は、ThreadPool に背を向けないことをお勧めします。代わりに、いくつか (またはそれ以上) のスレッドをクライアント間で共有することができます。

于 2012-10-11T22:53:39.613 に答える