Ejemplo n.º 1
0
        public void Test_OddEvenWithMutex()
        {
            OddEvenWorker worker = new OddEvenWorker();

            Thread oddThread  = new Thread(() => { worker.PrintOddValuesMutex(20); });
            Thread evenThread = new Thread(() => { worker.PrintEvenValuesMutex(20); });

            oddThread.Name  = "OddTh";
            evenThread.Name = "EvenTh";


            Mutex myMutex = new Mutex(true, "OddEven");

            oddThread.Start();
            evenThread.Start();

            // don't let them start until we release the mutex
            myMutex.ReleaseMutex();


            oddThread.Join();
            evenThread.Join();

            Assert.IsTrue(true);
        }
Ejemplo n.º 2
0
        public void Test_OddEvenWithMutex()
        {
            OddEvenWorker worker = new OddEvenWorker();

            Thread oddThread = new Thread(() => { worker.PrintOddValuesMutex(20); });
            Thread evenThread = new Thread(() => { worker.PrintEvenValuesMutex(20); });
            oddThread.Name = "OddTh";
            evenThread.Name = "EvenTh";

            Mutex myMutex = new Mutex(true, "OddEven");

            oddThread.Start();
            evenThread.Start();

            // don't let them start until we release the mutex
            myMutex.ReleaseMutex();

            oddThread.Join();
            evenThread.Join();

            Assert.IsTrue(true);
        }