Класс 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();
- }));
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д