我知道您可以在 c# 中使用 lock 锁定一个对象,但您可以放弃锁定并等待其他东西通知您它已更改,就像在 java 中使用 wait 和 notify 一样?
在我看来,java 和 c# 中的 synchronized 和 lock 分别是同义词。
最佳答案
等效功能(包括普通锁定)在Monitor 中。类(class)。
foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
lock
C# 中的语句相当于调用 Monitor.Enter
和 Monitor.Exit
使用适当的 try/finally block 。
见 my threading tutorial或 Joe Albahari's one了解更多详情。
关于C#相当于java的等待和通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209281/