gpt4 book ai didi

c# - SemaphoreSlim 使用限制

转载 作者:行者123 更新时间:2023-12-04 08:24:47 26 4
gpt4 key购买 nike

Documentation说:

The SemaphoreSlim class represents a lightweight, fast semaphore that can be used for waiting within a single process when wait times are expected to be very short.


很短是什么意思?有人知道以毫秒为单位的明确时间值吗?是否可以使用 SemaphoreSlim例如,如果等待时间大约为 5 分钟?

最佳答案

Is it possible to use a SemaphoreSlim instance, if wait time will be about 5 minutes?


是的,没关系。
不应将文档解读为 SemaphoreSlim仅在预计等待时间非常短的情况下使用。相反,它比重量更重的替代品更适合这种情况 Semaphore .
什么是“非常短”?很难说,因为它取决于代码中发生的其他事情。但我会把它放在几十毫秒的范围内,可能长达数百毫秒。一旦你谈论秒或更长时间,我希望一个比另一个没有明显的优势。
如果您的等待时间明显更长,那么分配和管理 Semaphore 的开销就会增加。类与 SemaphoreSlim 相比类在执行代码的整体配置文件中可能并不重要。因此,您可以使用 Semaphore 轻松逃脱。在这种情况下不会显着影响代码的性能,即使它在技术上效率较低。
我个人使用 SemaphoreSlim而不是 Semaphore总是,除非我需要前者不支持的后者的功能。这种情况并不经常出现,现在更不用说 C# 和 .NET 中用于协调并发运行代码的更高抽象了。甚至根本不使用信号量对我来说也变得有些罕见。

关于c# - SemaphoreSlim 使用限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65317637/

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