我知道你可以使用锁来锁定c#中的一个对象但是你可以放弃锁定并等待别的东西通知你它已经像在等待和通知的java中那样被改变了吗?
在我看来,java和c#中的synchronized和lock分别是同义的.
等效功能(包括正常锁定)在Monitor类中.
foo.notify() => Monitor.Pulse(foo) foo.notifyAll() => Monitor.PulseAll(foo) foo.wait() => Monitor.Wait(foo)
lock
C#中的语句等同于调用Monitor.Enter
和Monitor.Exit
使用适当的try/finally块.
有关详细信息,请参阅我的线程教程或Joe Albahari的文章.