Использовать или мьютекс или монитор для синхронизации потоков - C#

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

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

Ребят, дошел до синхронизации потоков, и застрял. В делфи по моему было это проще. Короче суть задания использовать или мьютекс или монитор. Но в моем коде, нужно вывести по порядку от 1 до 10, но это не происходит. Где ошибся? Или может что-то пропустил?
using System;
using System.Threading;
 
namespace ConsoleApplication2
{
    class Program
    {
        private static Mutex mutex = new Mutex();
        private static ManualResetEvent mre;
 
        private static void Test(object ar)
        {
            mutex.WaitOne();
            Console.WriteLine(ar.ToString());
            mutex.ReleaseMutex();
        }
 
        static void Main()
        {
            Thread[] threadArray;
 
            for (int i = 1; i < (threadArray = new Thread[11]).Length; i++)
            {
                threadArray[i] = new Thread(new ParameterizedThreadStart(Test)) { IsBackground = true };
                threadArray[i].Start(i);
                Thread.Sleep(5);
            }
 
            Console.ReadKey();
        }

    }
}

Решение задачи: «Использовать или мьютекс или монитор для синхронизации потоков»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
 
namespace ConsoleApplication31
{
    class Program
    {
        static Mutex mt = new Mutex();
 
        static void Main(string[] args)
        {
            Thread[] threadArr = new Thread[10];
            for (int i = 0; i < threadArr.Length; i++)
            {
                threadArr[i] = new Thread(new ParameterizedThreadStart(Test));
                threadArr[i].Start(i);
                Thread.Sleep(5);
            }
            Console.ReadLine();
        }
        static void Test(object obj)
        {
            //mt.WaitOne();
            Console.WriteLine(obj.ToString());
            //mt.ReleaseMutex();
        }
    }
}

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


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

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

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