线程池中的可用线程数

时间:2015-04-27 14:05:31

标签: c# .net multithreading threadpool threadpoolexecutor

在Threadpool中,我设置了最大线程数。我希望有多个工作线程可用。我试过了。

     ThreadPool.GetAvailableThreads(out x, out y);

使用这个,我得到的可用线程数(x)只是在减少。即使在完成任务之后,可用线程数(x)也没有增加。 如何获取线程池中的可用线程的实际数量。

1 个答案:

答案 0 :(得分:3)

GetAvailableThreads()方法不会告诉您有多少线程,它会返回仍可以创建多少额外线程。

来自MSDN:

  

当GetAvailableThreads返回时,workerThreads指定的变量包含可以启动的其他工作线程数,

关于

  

即使在他们完成任务之后,这里的可用线程数(x)也没有增加。

你等了多久?该池只会慢慢破坏空闲线程。