Есть ли способ исправить количество потоков, на которые запланированы задачи? - PullRequest
0 голосов
/ 20 августа 2011

Скажем, я создаю 3 потока, но хочу запустить 4 задачи на них. Есть ли способ исправить количество потоков, на которых будут выполняться задачи? Спасибо.

Ответы [ 3 ]

1 голос
/ 20 августа 2011

Вы также можете создать свой собственный TaskScheduler ... , если вам действительно нужно.Не уверен, что ваш конкретный вариант использования для этого, хотя из вашего вопроса.См. эту ссылку на MSDN для получения дополнительной информации.

1 голос
/ 20 августа 2011

Когда вы используете Задачи (TPL), вы не создаете Темы.

Почти каждый метод в классе Parallel позволит вам указать WithDegreeOfParallelism(n)

Подробнее см. Настройка ядер для использования в параллелизме

0 голосов
/ 23 августа 2011

В TPL вы не создаете потоки, вы создаете только задачи, и если вы используете планировщик по умолчанию, он будет использовать пул потоков в бэкэнде, а максимальное количество потоков по умолчанию равно 2 * числу ядер. Вы можете создать собственный настраиваемый планировщик, перейдя из TaskScheduler, если вы хотите управлять созданием потоков, на этой странице MSDN показано, как реализовать настраиваемый планировщик, ограничивающий степень параллелизма http://msdn.microsoft.com/en-us/library/ee789351.aspx

...