Максимальное количество потоков ThreadPool

У меня проблемы с .NET ThreadPool ( .NET 4).

I ' Мы читали, что по умолчанию .NET имеет ограничение в 25 потоков на процессор, но, согласно сообщениям на форуме о SO и в других местах, я могу увеличить лимит с помощью приведенного ниже кода.

void SetThreads(int threads)
{
    ThreadPool.SetMaxThreads(threads, threads);
    ThreadPool.SetMinThreads(threads, threads);
}

Однако, когда я установил выше для некоторых произвольно большое число, например 2000, и очередь ~ 1000 элементов, у меня все еще работает только ~ 33 потока (.NET CLR занимает ~ 5 потоков), а ThreadPool.GetAvailableThreads () возвращает 1971 оставшийся поток.

Почему приведенный выше код не работает?

25
задан foxy 23 March 2012 в 08:40
поделиться