Задать вопрос
@akass
Developer

Покажите как использовать TPL?

Осваиваю TPL и уже запутался, подскажите что лучше использовать, если у меня коллекция массивов и мне надо их все обработать (только чтение, не изменяю) с возможностью выводить прогресс в ProgressBar и с возможностью Остановить/Приостановить/Продолжить ? Пробовал в Task добавлять Parallel.Foreach но не пошло.

Примерно представляю себе это как Task , в котором параллельно обрабатываются массивы в Parallel.Foreach периодически обновляя ProgressBar через Iprogress. Так в принципе работает, но как это все правильно Остановить/Приостановить/Продолжить?
Пробовал использовать ParallelLoopState и CancelationToken, для остановки, но как-то кривовато.
  • Вопрос задан
  • 304 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Решения вопроса 1
dmitry_pavlov
@dmitry_pavlov
World-class .NET freelance contractor (remotely)
Думается Parallel.Foreach тут не к месту - см. Pause и Resume в Parallel.Foreach

Через Task-и и PauseToken попобуйте - см. Cooperatively pausing async methods
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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