Один backgroundworker и много методов - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте!!!! Такой вопрос: Есть много разных методов, довольно длительных по времени выполнения, которые желательно запускать в фоновом режиме. Как можно в один BGW подавать разные методы? В backgroundworker_DoWork() { } передавать название метода, который нужно выполнять. Или если мой ход мыслей не правильный, то как можно такое реализовать? Спасибо!
В дополнение к этому вопросу ещё один: Если есть коллекция List и с ней надо работать, анализировать и всякое другое. Можно ли эту одну коллекцию параллельно использовать в разных методах в один и тот же момент? И всё это запускать через BGW

Решение задачи: «Один backgroundworker и много методов»

textual
Листинг программы
  1.         private void button3_Click(object sender, EventArgs e)
  2.         {
  3.             if (button3.Tag == null)
  4.             {
  5.                 button3.Text = "Отмена";
  6.                 button3.Tag = 1;
  7.                 progressBar1.Value = 0;
  8.                 IProgress<int> progress =
  9.                             new Progress<int>(value => progressBar1.Value = value);
  10.                 Task.Run(() =>
  11.                 {
  12.                     for (var i = 0; i < 10; i++)
  13.                     {
  14.                         Thread.Sleep(1000);
  15.                         progress.Report(i * 10);
  16.                         if (button3.Tag == null) break; //Если нажата кнопка в режиме "Отмена"
  17.                     }
  18.                     progress.Report(100);
  19.                 });
  20.             }
  21.             else
  22.             {
  23.                 button3.Tag = null;
  24.                 button3.Text = "Старт";
  25.             }
  26.  
  27.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы