C#相当于Java的等待和通知?
2022-08-31 16:56:47
我知道你可以使用lock在c#中锁定一个对象,但是你能放弃锁定并等待其他东西来通知你它已经改变了,就像你在Java中等待和通知一样吗?
在我看来,在java和c#中分别同步和锁定是同义词。
我知道你可以使用lock在c#中锁定一个对象,但是你能放弃锁定并等待其他东西来通知你它已经改变了,就像你在Java中等待和通知一样吗?
在我看来,在java和c#中分别同步和锁定是同义词。
等效功能(包括正常锁定)位于 Monitor 类中。
foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
C# 中的语句等效于调用并具有适当的 try/finally 块。lock
Monitor.Enter
Monitor.Exit
有关更多详细信息,请参阅我的线程教程或Joe Albahari的线程教程。