Mutex控制台版本

时间:2012-05-11 05:14:26

标签: c#

这是一个控制台应用程序Wqhen我运行以下程序它显示一个控制台 我已经从bin目录中执行了3个其他控制台,现在我的问题是 当1个控制台已经完成其任务时。控制不会转到其他控制台  它显示相同的显示运行(控制台1)。 Running如何在其他控制台上显示。

class Program
{
    static Mutex m = new Mutex(true, "demo");

    public static void Main()
    {
        if (!m.WaitOne(1000))
        {
            Console.WriteLine("another");
            Console.ReadLine();
        }
        else
        {
            try
            {
                run();
            }
            finally
            {
                m.ReleaseMutex();
            }
        }
    }
    public static void run()
    {
        Console.WriteLine("running");
        Console.ReadLine();
        Thread.Sleep(1000);
          m.ReleaseMutex();
    }
}

1 个答案:

答案 0 :(得分:0)

你的程序会因为用户输入的读取线而卡住,尝试使用互联网,例如下面的

using (var mutex = new Mutex(false, "demo"))
 {
        mutex.WaitOne(); 
        run(); 
        mutex.ReleaseMutex();
}