У меня возникли проблемы с .NET ThreadPool (.NET 4).
Я читал, что по умолчанию .NET имеет ограничение в 25 потоков на процессор, но согласно сообщениям на форуме в SO и других местах, я могу увеличить ограничение с помощью приведенного ниже кода.
void SetThreads(int threads)
{
ThreadPool.SetMaxThreads(threads, threads);
ThreadPool.SetMinThreads(threads, threads);
}
Однако, когда я устанавливаю вышеупомянутое значение на произвольно большое число, например, 2000, и очередь ~ 1000 элементов, у меня все еще остается только ~ 33 потока (.NET CLR занимает ~ 5 потоков), и ThreadPool.GetAvailableThreads()
возвращает Осталось 1971 тем.
Почему код выше не работает?