gpt4 book ai didi

c# - 我什么时候应该使用 WaitHandle 而不是锁

转载 作者:行者123 更新时间:2023-11-30 13:24:12 25 4
gpt4 key购买 nike

C#中,什么时候应该使用WaitHandle而不是lock

最佳答案

锁从根本上不同于WaitHandle。用你写的锁,例如:

lock (SomeResource)
{
// do stuff here
}

第一行说,“我想要对该资源的独占访问权”,并将等待直到该资源可用(即没有其他人可以锁定它)。然后代码运行并在最后释放锁以便其他人可以使用它。

WaitHandle 用于等待某个事件的发生。当你写:

MyWaitHandle.WaitOne();

您的代码正在等待其他线程(可能在不同的进程中)发出 WaitHandle 信号。它发出的信号可以是任何东西。也许您正在等待另一个线程完成其工作并说“我现在完成了”,然后您的代码才能继续。

因此,为了回答您的问题,您应该在想要获得对资源的独占访问权时使用锁。当您想要收到某些事件的通知时,您应该使用 WaitHandle

关于c# - 我什么时候应该使用 WaitHandle 而不是锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com