Взято из документации Microsoft:
По умолчанию пул потоков имеет 250 рабочих потоков на каждый доступный процессор.Вы можете изменить этот параметр, используя метод ThreadPool.SetMaxThreads.
Также, как известно, есть некоторые издержки:
Потоки имеют некоторый уровеньнакладные расходы.Поэтому, если на компьютере установлено несколько процессоров, а вы разбиваете обработку на два потока, вы не увидите 100-процентного улучшения производительности.
Из некоторого опыта и большего из предположений, я бы сказалбыло что-то вроде 1 до 4 потоков на процессор, а не 250 !Кто-то знает почему 250?Это какое-то значение, которое должно дать лучшую общую производительность , или , чтобы оно позволяло обрабатывать практически все задачи, которые вы даете этому пулу потоков, без обработки ожидание для завершения других задач?