在Threadpool中,我设置了最大线程数。我希望有多个工作线程可用。我试过了。
ThreadPool.GetAvailableThreads(out x, out y);
使用这个,我得到的可用线程数(x)只是在减少。即使在完成任务之后,可用线程数(x)也没有增加。 如何获取线程池中的可用线程的实际数量。
答案 0 :(得分:3)
GetAvailableThreads()方法不会告诉您有多少线程,它会返回仍可以创建多少额外线程。
来自MSDN:
当GetAvailableThreads返回时,workerThreads指定的变量包含可以启动的其他工作线程数,
关于
即使在他们完成任务之后,这里的可用线程数(x)也没有增加。
你等了多久?该池只会慢慢破坏空闲线程。