【发布时间】:2010-02-04 11:14:25
【问题描述】:
MSDN (http://msdn.microsoft.com/en-us/library/aa332339(VS.71).aspx) 说等待“释放对象上的锁并阻塞当前线程,直到它重新获得锁为止。”这基本上意味着锁定切换(释放,让另一个线程有机会运行,重新获取锁定)。但这不是 Pulse() 所做的吗?与 Pulse 唯一的细微差别是它永久发出要获取锁的信号?
C# 线程指南 (http://www.albahari.com/threading/part4.aspx#_Wait_and_Pulse) 有一个很好的类比:
“把它想象成一个自动停车场:你首先在支付站排队验证你的票(等待队列);”
所以按照 MSDN 的描述,这意味着当释放锁和阻塞时(与等待 - 锁切换相同),一辆车通过,然后障碍(锁)下来?
【问题讨论】:
标签: c#