Пользовательский разделитель для Parallel.ForEach

Я не могу найти правильное решение...

У меня есть список POCO (IEnumerable<MyClass> или же IList<MyClass>) Я хотел бы разбить на куски одинакового размера, а затем выполнить значительную и аналогичную вычислительную задачу (с привязкой к ЦП) для каждого раздела.

Я не знаю размер списка до времени выполнения, но разделы должны быть как можно большего размера. Код существует в классе PartitionStatic.cs для достижения этой цели.

Мне нужно указать количество разделов, но я не вижу, как это сделать. т.е. реализация ForEach не должна указывать количество разделов.

Нужен ли пользовательский разделитель, или есть какая-то конфигурация Partitioner.Create и Parallel.ForEach, которая выполняет это?

Изменить: Было предложено, что этот вопрос может быть дубликатом: Как я могу ограничить Parallel.ForEach?, что предполагает ограничение количества потоков. Я не уверен, как это ответит на вопрос об указании количества разделов.

0 ответов

Другие вопросы по тегам