gpt4 book ai didi

.net - Synclock 和 WaitOne 的区别

转载 作者:行者123 更新时间:2023-12-01 11:04:31 25 4
gpt4 key购买 nike

我使用了线程管理的服务员。

同步锁 http://msdn.microsoft.com/en-us/library/3a86s51t%28v=vs.71%29.aspx

但是现在,我想要超时并找到了 WaitOne。

等待一个 http://msdn.microsoft.com/en-us/library/system.threading.waithandle.waitone.aspx它支持简单的超时。

但它不再起作用了。错误可能出在代码的其他地方。我的主要问题是,使用 SyncLockWaitOne 作为基本服务员标志有区别吗?

问候

最佳答案

SyncLockMonitor.EnterMonitor.Exit 的特定语言包装器。它旨在用于限制同时访问代码或资源的关键部分。

WaitHandle.WaitOne 是一种旨在用于线程应等待外部信号的情况的方法。它如何工作的确切实现和语义是特定于类的。换句话说,与 ManualResetEventSemaphore 相比,WaitOneAutoResetEvent 中使用时的行为会有所不同。

两者确实针对不同的用例。如果没有更好地描述您的具体问题,甚至很难推测哪一个最适合使用。

但是,如果您确定需要锁的语义(通过 SyncLockMonitor 类),那么您可以使用 Monitor.TryEnter 确实提供了超时参数。

关于.net - Synclock 和 WaitOne 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348592/

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