РЕДАКТИРОВАТЬ Я ограничен .Net версии 2.0, поэтому я не думаю, что я могу использовать библиотеку параллельных задач в этом случае.
У меня есть словарь объектов.
Мне нужно перебрать их все и выполнить дорогой, но смущающий распараллеливание расчет для каждого элемента.
В настоящее время я использую один поток для перебора всего словаря.
Подход 1
Я играл с использованием пула потоков, чтобы разделить вычисления
несколько потоков, но это приводит к вопросу о том, как передать это
отдельные темы?
В настоящее время я преобразовываю коллекцию ключей в массив и передаю часть массива в отдельные потоки, чтобы они могли использовать ключ для поиска значения и выполнения вычисления.
Подход 2
В качестве альтернативы, я мог бы перебирать каждый ключ и отправлять поток в
пул потоков к каждому элементу.
Второй подход медленнее.
Есть ли лучшая альтернатива?