Передача в поток метода с параметрами - C#

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

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

Нужно запустить метод ScreenUpdate(Pet)
Листинг программы
  1. static void ScreenUpdate(Property Pet)
  2. {
  3. while (true)
  4. {
  5. Console.SetCursorPosition(0, 0);
  6. Console.WriteLine(Pet.Name);
  7. Console.SetCursorPosition(0, 1);
  8. Console.WriteLine("Health " + Pet.Health);
  9. Console.SetCursorPosition(0, 2);
  10. Console.WriteLine("Starveness " + Pet.Starveness);
  11. Console.SetCursorPosition(0, 3);
  12. Console.WriteLine("Happiness " + Pet.Happiness);
  13. Console.SetCursorPosition(0, 4);
  14. Console.WriteLine("Toilet " + Pet.Toilet);
  15. Console.SetCursorPosition(0, 5);
  16. Thread.Sleep(1000);
  17. }
  18. }
Без проблем могу вызвать метод без использования потока (thread) ScreenUpdate(Pet); Но с созданием потока - проблемы (скрин1)
Листинг программы
  1. Thread Screen = new Thread(new ParameterizedThreadStart(ScreenUpdate(Pet)));
  2. Screen.IsBackground = true;
  3. Screen.Start();

Решение задачи: «Передача в поток метода с параметрами»

textual
Листинг программы
  1.         Thread Screen = new Thread(ScreenUpdate);
  2.         Screen.IsBackground = true;
  3.         Screen.Start(Pet);
  4.  
  5.         static void ScreenUpdate(object param)
  6.         {
  7.             Property Pet = (Property)param;
  8.             while (true)
  9.             {
  10.                 Console.SetCursorPosition(0, 0);
  11.                 Console.WriteLine(Pet.Name);
  12.                 Console.SetCursorPosition(0, 1);
  13.                 Console.WriteLine("Health " + Pet.Health);
  14.                 Console.SetCursorPosition(0, 2);
  15.                 Console.WriteLine("Starveness " + Pet.Starveness);
  16.                 Console.SetCursorPosition(0, 3);
  17.                 Console.WriteLine("Happiness " + Pet.Happiness);
  18.                 Console.SetCursorPosition(0, 4);
  19.                 Console.WriteLine("Toilet " + Pet.Toilet);
  20.                 Console.SetCursorPosition(0, 5);
  21.                 Thread.Sleep(1000);
  22.             }
  23.         }

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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