我有一个关于监视器类的脉搏和等待的问题。以下是代码的摘录。我的问题是代码会卡在
// <<-----------
直到储物柜免费?
{
check = false;
new Thread(pulseWaitFun).Start();
Console.Writeline("Threading tutorial");
lock (locker) // <<-----------
{
check = true;
Monitor.Pulse(locker);
}
Console.ReadLine();
}
static void pulseWaitFun()
{
lock (locker)
{
if(check != true)
{
Thread.Sleep(20000);
Monitor.Wait(locker);
}
}
Console.WriteLine("Woken !!");
}
第二个问题,Monitor.Pulse(locker);
接下来的执行顺序是什么?