class OneAtATimePlease
{
static void Main()
{
using (var mutex = new Mutex(false, "oreilly.com OneAtATimeDemo"))
{
if (mutex.WaitOne(TimeSpan.FromSeconds(3), false))
RunProgram();
else
{
Console.WriteLine("Another instance of the app is running. Bye!");
return;
}
}
}
static void RunProgram()
{
Console.WriteLine("Running. Press Enter to exit");
Console.ReadLine();
}
}
しかし、これらの行は誰かが関数を呼び出すのを待っていSet()
ます:
if (mutex.WaitOne(TimeSpan.FromSeconds(3), false))
RunProgram();
誰がここに呼んset
でいますか?このスレッドは決してリリースされません...(またはそうなりますか?)
私は何が欠けていますか?