Как использовать оператор lock в статических методах - C#

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

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

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. namespace ConsoleApplication6
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Thread[] t = new Thread[2];
  13. t[0] = new Thread(new ParameterizedThreadStart(Add));
  14. t[1] = new Thread(new ParameterizedThreadStart(Add));
  15. t[0].Start(null);
  16. t[1].Start(null);
  17. }
  18. public static void Add(object o)
  19. {
  20. for (int i = 1; i < 4; i++)
  21. {
  22. Console.WriteLine(i);
  23. Thread.Sleep(1000);
  24. }
  25. }
  26. }
  27. }
Привет всем, вот код программы в которой бы хотелось использовать lock. Но метод статический и lock(this){} не получится. Как тут его можно применить?

Решение задачи: «Как использовать оператор lock в статических методах»

textual
Листинг программы
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace ConsoleApplication6
  5. {
  6.     class Program
  7.     {
  8.         static object locker = new object();
  9.  
  10.         static void Main(string[] args)
  11.         {
  12.             Thread[] t = new Thread[2];
  13.             t[0] = new Thread(new ParameterizedThreadStart(Add));
  14.             t[1] = new Thread(new ParameterizedThreadStart(Add));
  15.             t[0].Start(null);
  16.             t[1].Start(null);
  17.         }
  18.         public static void Add(object o)
  19.         {
  20.             lock (locker)
  21.             {
  22.                 for (int i = 1; i < 4; i++)
  23.                 {
  24.  
  25.                     Console.WriteLine(i);
  26.  
  27.                     Thread.Sleep(1000);
  28.                 }
  29.             }
  30.         }
  31.     }
  32.  
  33. }

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


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

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

8   голосов , оценка 4.25 из 5

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

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

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