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