C# 互斥控制台释放
这是一个控制台应用程序,当我运行下面的程序时,它显示一个控制台 我已经从bin目录执行了另外3个控制台,现在我的问题是C# 互斥控制台释放,c#,C#,这是一个控制台应用程序,当我运行下面的程序时,它显示一个控制台 我已经从bin目录执行了另外3个控制台,现在我的问题是 当1个控制台完成其任务时。控件不会转到其他控制台 它显示相同的显示正在运行(控制台1)。如何在其他控制台上运行显示 class Program { static Mutex m = new Mutex(true, "demo"); public static void Main() { if (!m.WaitOne(1000))
当1个控制台完成其任务时。控件不会转到其他控制台 它显示相同的显示正在运行(控制台1)。如何在其他控制台上运行显示
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();
}
}
您的程序将被卡住,因为它的readline用于用户输入,请尝试使用互斥,如下面的示例
using (var mutex = new Mutex(false, "demo"))
{
mutex.WaitOne();
run();
mutex.ReleaseMutex();
}
目前还不清楚这些项目是如何开始的。但是如果您从命令行执行此操作,那么它们将共享同一个控制台。同样,在同一时间启动多个项目是很困难的。