2011-03-16 75 views

回答

2

看来你应该尽量限制线程的数量与访问该资源,而不是线程的总数,这可以通过锁定或机票

完成
+0

很好的建议,谢谢 – DeveloperInToronto 2011-03-17 12:06:27

0

是的,微软有这样的要求,即线程的数量不能小于处理器的数量。更多信息here

我很想知道为什么Microsoft有这样的要求?它应该是无害的不是吗?这个要求没有意义...

0

刚刚试过这个,这个“要求”似乎是不正确的。我相信它只是默认将MinThreads设置为机器中的核心数量。 如果我这样做:

ThreadPool.SetMinThreads(1, 1); 
ThreadPool.SetMaxThreads(2,2); 

一个四核机器上,它似乎正确地扼杀线程执行,如果我离开了SetMinThreads称,虽然,它忽略了我的电话,以SetMaxThreads(因为你不能设置MaxThreads少比MinThreads(这是默认的核心数量))