日期:2014-05-17 浏览次数:21150 次
class MutexSample2
{
private static Mutex mutex = null; //设为Static成员,是为了在整个程序生命周期内持有Mutex
static void Main()
{
bool firstInstance;
mutex = new Mutex(true, @"Global\MutexSampleApp", out firstInstance);
try
{
if (!firstInstance)
{
Console.WriteLine("已有实例运行,输入回车退出……");
Console.ReadLine();
return;
}
else
{
Console.WriteLine("我们是第一个实例!");
for (int i = 60; i > 0; --i)
{
Console.WriteLine(i);
Thread.Sleep(1000);
}
}
}
finally
{
//只有第一个实例获得控制权,因此只有在这种情况下才需要ReleaseMutex,否则会引发异常。
if (firstInstance)
{
mutex.ReleaseMutex();
}
mutex.Close();
&nb