gpt4 book ai didi

c# - 限制单次执行一个方法的线程数

转载 作者:可可西里 更新时间:2023-11-01 07:51:26 26 4
gpt4 key购买 nike

在这种情况下,我们希望限制我们的应用程序可以向其应用程序服务器发出的并行请求的数量。我们可能有 100 多个后台线程在运行,它们希望在某个时候调用应用程序服务器,但只希望 5 个线程能够在任何时候调用 SendMessage()(或任何方法)。实现这一目标的最佳方式是什么?

我考虑过使用某种看门人对象来阻止线程进入该方法,直到其中执行的线程数降至阈值以下。这是一个合理的解决方案,还是我忽略了这可能是肮脏/危险的事实?

我们正在使用 C#.NET 3.5 进行开发。

谢谢,

史蒂夫

最佳答案

使用信号量

http://msdn.microsoft.com/en-us/library/system.threading.semaphore.aspx

Limits the number of threads that can access a resource or pool of resources concurrently.

关于c# - 限制单次执行一个方法的线程数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2552192/

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