2012-03-04 5 views
0

Я хотел бы знать:Parallel.For декомпозиции области C#

Как витки сплюнул между процессорами, статически (каждый процессор получает N/(# процессоры) итераций), динамически (Каждый процессор получает одну итерацию и затем возвращается к другому), могу ли я выбрать политику?

Thank you !!!

ответ

3

Метод Parallel.ForEach() использует Разделитель, вы можете предоставить a custom one.

Не удалось найти прямую ссылку, чтобы сказать то же самое для Paralle.For().

+0

Спасибо! Это было именно то, что мне нужно! Вы знаете, есть ли возможность сделать Parallel.Foreach в серийном режиме в определенных условиях? Вид Partitioner, который дает всю работу одному процессору. –

+1

Да, хотя это отчасти поражает цель «Параллель». Но я заметил, что разделитель по умолчанию для '.For()' будет запускать небольшие наборы в 1 Thread. –

+1

@Sergey Kucher: То, что вы просите, должно быть возможным, вызывая 'Parallel.ForEach' с' ParallelOptions.MaxDegreeOfParallelism', установленным в 1. – Tudor