Скажем, я создаю 3 потока, но хочу запустить 4 задачи на них. Есть ли способ исправить количество потоков, на которых будут выполняться задачи? Спасибо.
Вы также можете создать свой собственный TaskScheduler ... , если вам действительно нужно.Не уверен, что ваш конкретный вариант использования для этого, хотя из вашего вопроса.См. эту ссылку на MSDN для получения дополнительной информации.
TaskScheduler
Когда вы используете Задачи (TPL), вы не создаете Темы.
Почти каждый метод в классе Parallel позволит вам указать WithDegreeOfParallelism(n)
WithDegreeOfParallelism(n)
Подробнее см. Настройка ядер для использования в параллелизме
В TPL вы не создаете потоки, вы создаете только задачи, и если вы используете планировщик по умолчанию, он будет использовать пул потоков в бэкэнде, а максимальное количество потоков по умолчанию равно 2 * числу ядер. Вы можете создать собственный настраиваемый планировщик, перейдя из TaskScheduler, если вы хотите управлять созданием потоков, на этой странице MSDN показано, как реализовать настраиваемый планировщик, ограничивающий степень параллелизма http://msdn.microsoft.com/en-us/library/ee789351.aspx