public void GlobalMutex_Basic() { #if WINFULL var thread = new Thread(new ThreadStart(ThreadProc)); #else var thread = new CEThread(new ThreadStart(ThreadProc)); #endif mutex1 = new GlobalMutex("Test"); mutex2 = new GlobalMutex("Test"); try { mutex1.WaitOne(); thread.Start(); Thread.Sleep(1100); mutex1.ReleaseMutex(); Thread.Sleep(1000); Assert.IsTrue(finishTime - startTime >= TimeSpan.FromMilliseconds(1000)); } finally { mutex1.Close(); mutex2.Close(); thread.Join(); } }
protected virtual void Dispose(bool disposing) { if (GlobalMutex == null) { return; } if (disposing) { GlobalMutex.Close(); } GlobalMutex = null; }