@fs_name

C# Paralllel.ForEach in Parallel.ForEach. Имеет ли смысл?

Добрый день. Вопрос чисто теоретический - имеется такой кусок кода:

ParallelOptions _parallel_options = new ParallelOptions();
         _parallel_options.MaxDegreeOfParallelism = _ret.threads_count;

         Parallel.ForEach<string>(File.ReadLines(_ret.file_name, _codepage)
                                  , _parallel_options
                                  , (_line, _parallel_state, _index) =>
         {
            //some code
            Parallel.For(0, _idx, (_field_index) =>
            {
            //some code
            });
         });


Возможно ли получить некий профит от parallel - конструкции внутри parallel, если не ограничивать MaxDegreeOfParallelism первого цикла? Или если ограничивать?
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 2
@VanKrock
Мне кажется, что в данном случае вы упретесь в чтение с диска
Ответ написан
Комментировать
Kubatai
@Kubatai
Техник-программист
Была задача, решил делать похожим методом. В итоге при использовании такой структуры без создания второго потока для внутренней Parallel.ForEach было замечено падение производительности при выполнении куска кода. В итоге для моей задачи было решено использовать только один Parallel.ForEach.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы