标签: c# multithreading
在Monitor.Wait()期间,线程进入wait queue释放lock。当其他一些线程调用Pulse时,等待的线程进入就绪queue并再次尝试lock。我想了解等待队列的需要。为什么不简单的线程移动到就绪队列并等待锁定。如果线程直接进入就绪队列,那么任何情况都不会起作用?
Monitor.Wait()
wait queue
lock
Pulse
queue