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 }