Объясните,как работает мьютекс на примере кода: - C#

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

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

Вот код:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Threading;
  7. namespace Lesson_1
  8. {
  9. class Program
  10. {
  11. static Mutex mutexObj = new Mutex();
  12. static int x = 0;
  13. static void Main(string[] args)
  14. {
  15. for(int i = 0;i<5;i++)
  16. {
  17. Thread myThread = new Thread(Count);
  18. myThread.Name = "Поток: " + i.ToString();
  19. myThread.Start();
  20. Console.WriteLine("{0}:{1}", myThread.Name, myThread.IsBackground);
  21. }
  22. Console.WriteLine("Press any key to continue...");
  23. Console.ReadKey(true);
  24. }
  25. public static void Count()
  26. {
  27. mutexObj.WaitOne();
  28. x = 1;
  29. for(int i = 0;i<9;i++)
  30. {
  31. Console.WriteLine("{0}: {1}", Thread.CurrentThread.Name, i);
  32. x++;
  33. Thread.Sleep(100);
  34. }
  35. mutexObj.ReleaseMutex();
  36. }
  37. }
  38. }

Решение задачи: «Объясните,как работает мьютекс на примере кода:»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Threading;
  7.  
  8. namespace Lesson_5
  9. {
  10.     class Program
  11.     {
  12.         volatile static int x = 0;
  13.         static Mutex mutex = new Mutex();
  14.  
  15.         static void Main(string[] args)
  16.         {
  17.             Thread thread_f = new Thread(Count);
  18.             thread_f.Start();
  19.  
  20.             for(x = 0;x<10;x++)
  21.             {
  22.                 Console.WriteLine(x + ":f");
  23.             }
  24.            
  25.             Console.WriteLine("Press any key to continue...");
  26.             Console.ReadKey(true);
  27.         }
  28.        
  29.         static void Count()
  30.         {
  31.             mutex.WaitOne();
  32.             for(x = 0;x<10;x++)
  33.             {
  34.                 Console.WriteLine(x+":d");
  35.             }
  36.             mutex.ReleaseMutex();
  37.         }
  38.     }
  39. }

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


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

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

10   голосов , оценка 3.9 из 5

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

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

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