C#从零开始学线程_005_使用Mutex(互斥量)实现互斥(只运行只一个程序)


如果想让程序只运行一个实力,可以使用Mutex(互斥量)

互斥量是全局的操作系统对象!请务必正确关闭互斥量。最好是使用using代码块来包裹互斥量对象。

 1 internal void Do()
 2 {
 3     const string MutextName = "U_Mutex";
 4     using (var mutex = new Mutex(false, MutextName))    //互斥量
 5     {
 6         if (!mutex.WaitOne(TimeSpan.FromSeconds(1), false))
 7         {
 8             Console.WriteLine("已经存在一个运行程序");
 9         }
10         else
11         {
12             Console.WriteLine("程序正在运行。。。");
13             //mutex.ReleaseMutex();                     //释放Mutex对象
14         }
15         Console.ReadKey();
16     }
17 }