0

是否可以找出线程池中线程的状态?我们的应用程序有时会使用很多线程,而这些主要是调用 ThreadPool.QueueUserWorkItem。但是,当应用程序没有真正做太多事情时,线程数永远不会减少。我原以为最终这些线程会停止。

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

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

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

编辑 1

线程池

这取自 .NET Compact Framework 远程性能监视器,线程池线程数为 25。但是就像我在 Visual Studio 本身中所说的那样,肯定没有 25 个线程,只有大约 7 或 8 个。

4

0 回答 0