gpt4 book ai didi

c# - 在 C# .Net 中使用委托(delegate),当我用完 .Net 线程池中的线程时会发生什么情况?

转载 作者:行者123 更新时间:2023-11-30 20:11:04 32 4
gpt4 key购买 nike

我正在制作一个多线程应用程序,它使用委托(delegate)来处理 WCF 服务中的请求处理。我希望客户端能够发送请求,然后断开连接并等待回调以宣布工作已完成(这很可能是通过数据库进行搜索)。我不知道一次可能会收到多少请求,可能每隔一段时间一个,也可能激增至数十个。

据我所知,.Net 的线程池有 25 个线程可供使用。当我产生 25 个或更多委托(delegate)时会发生什么?它会抛出错误、等待、暂停现有操作并开始处理新委托(delegate),还是其他一些行为?

除此之外,如果我想生成多达 25 个或超过 25 个委托(delegate),而其他操作(例如传入/传出连接)想要开始,和/或当另一个操作正在运行并且我想生成另一个委托(delegate)时,会发生什么情况?

我想确保它是可扩展的而不是太复杂。

谢谢

最佳答案

所有操作都排队(我假设您正在直接或间接使用线程池)。线程池的工作是处理队列并将操作分派(dispatch)到线程上。最终所有线程都可能变得忙碌,这意味着队列将增长,直到线程有空开始处理排队的工作项。

关于c# - 在 C# .Net 中使用委托(delegate),当我用完 .Net 线程池中的线程时会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247826/

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