Monitor.Pulse的目的

Jac*_*ada 8 c# multithreading

我只是想确保我在这里理解一些东西.如果我获得锁定Monitor.Enter或者lock我需要Pulse在释放锁之前打电话?

Monitor.Enter

Monitor.Pulse // Is that neccessary?

Monitor.Exit
Run Code Online (Sandbox Code Playgroud)

总是让我相信一个Monitor.Exit电话会隐含地调用Monitor.Pulse.这是真的吗?

我不确定你什么时候会用Pulse.这就是造成混乱的原因.

Jon*_*eet 10

不,你不需要打电话Pulse......但退出时也不会自动完成.

PulsePulseAllWait信令目的结合使用.

有关详细信息,请参阅本页的后半部分(忽略死锁位,基本上:)