如何监控.Net线程池的状态?

时间:2014-12-03 15:37:27

标签: c# multithreading compact-framework threadpool queueuserworkitem

是否有可能找出线程池中的线程状态?我们的应用程序有时使用大量线程,这些线程主要是调用ThreadPool.QueueUserWorkItem。但是,当应用程序实际上做得不多时,线程数永远不会减少。我原本以为这些线程最终会停止。

阅读我相信他们应该在完成所有任务后进入暂停状态,如果不重复使用,最终会被唤醒并被终止。

该应用程序正在使用.Net Compact Framework v2。可能是线程卡住了,但是当我在visual studio中暂停应用程序时,线程窗口只显示大约7-8个线程。与v2005捆绑在一起的远程进程查看器表明该进程使用的线程超过40个。我只能假设它只是等待使用的线程池线程。

可以使用什么方法来测试ThreadPool中的工作是否正在完成并且线程是否被释放回池中?

编辑1

Thread Pool

这取自.NET Compact Framework远程性能监视器,并且线程池线程数为25。但是就像我在visual studio本身所说的那样,当然没有25个线程,只有大约7或8个。 / p>

0 个答案:

没有答案