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); }
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); }