Класс task и background worker - C#

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

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

У нас есть приложение с пользовательским интерфейсом. Во время работы приложения происходят длительные вычисления. в чем будет различие применения этих классов? Может кто-нибудь объяснить?

Решение задачи: «Класс task и background worker»

textual
Листинг программы
  1. public void WhileTrue(Action<int> CallBackMethod) //Action<int> - int означает что тут 1 агрумент типа int. типа - OnTickMethod(int i)
  2.         {
  3.             (new Thread(delegate () {
  4.                 int i = 0;
  5.                 while(true) {
  6.                     Thread.Sleep(1000);
  7.                     i = (i > 60) ? 0 : i + 1;
  8.                     CallBackMethod(i);
  9.                 }
  10.             })).Start();
  11.         }
  12.         public void Main()
  13.         {
  14.             WhileTrue(OnTickMethod); // Отправляем в аргументе ссылку на функцию.
  15.         }
  16.         public void OnTickMethod(int i)
  17.         {
  18.             this.Invoke(new Action(() => // Конструкция из Invoke позваляет другому процессу взаимодействовать с интерфейсом - иначе краш. Только в WindowsForms!
  19.             {
  20.                 richTextBox1.Text = i.ToString();
  21.             }));
  22.         }

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


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

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

15   голосов , оценка 4.133 из 5

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

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

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