关于ThreadPool的一个问题,代码如下:
int _threads=10;
int _availableWorkerThreads = 0;
int _completionPortThreads = 0;
ThreadPool.SetMaxThreads(_threads, 0); // 设置最大线程数为10
ThreadPool.GetMaxThreads( out _threads, out _completionPortThreads);// 获取最大线程数,我认为应该是刚刚设置的10,但实际结果此处的_threads的值是1019, 请问这是怎么回事,是我理解有问题呢,还是哪里弄错了? 谢谢
ThreadPool.GetAvailableThreads(out _availableWorkerThreads, out _completionPortThreads);
我可以先回答你这个问题,但是你很快会提出另外的问题
bool success = ThreadPool.SetMaxThreads(_threads, 0);
if(success)
// 设置成功
else
// 设置失败
因为你设置失败了,所以没变