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

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

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

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

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

textual
Листинг программы
public void WhileTrue(Action<int> CallBackMethod) //Action<int> - int означает что тут 1 агрумент типа int. типа - OnTickMethod(int i)
        {
            (new Thread(delegate () {
                int i = 0;
                while(true) {
                    Thread.Sleep(1000);
                    i = (i > 60) ? 0 : i + 1;
                    CallBackMethod(i);
                }
            })).Start();
        }
        public void Main()
        {
            WhileTrue(OnTickMethod); // Отправляем в аргументе ссылку на функцию.
        }
        public void OnTickMethod(int i)
        {
            this.Invoke(new Action(() => // Конструкция из Invoke позваляет другому процессу взаимодействовать с интерфейсом - иначе краш. Только в WindowsForms!
            {
                richTextBox1.Text = i.ToString();
            }));
        }

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


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

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

15   голосов , оценка 4.133 из 5
Похожие ответы