gpt4 book ai didi

c# - 一次启动了多少个异步(非多线程)操作?这是可配置的吗?

转载 作者:行者123 更新时间:2023-11-30 21:56:26 34 4
gpt4 key购买 nike

  1. 如果我调用例如WebClient.DownloadStringTaskAsync()实际并行处理的任务数量的 100 倍?
  2. 我可以配置它还是我需要使用 List<Task> 来维护他们的号码?和 Task.WaitAny()
  3. 有没有一种简单的方法可以在调试器中查看它们的编号?
  4. 在这种情况下(处理大量异步任务),最佳做法是什么?

注意:我没有使用 Task.Run(),因此没有启动其他线程(据我所知)

最佳答案

并行度由我不完全理解的 ServicePoint 基础设施控制。默认限制为 ServicePointManager.DefaultConnectionLimit。这是每个人都使用的。我从未见过有人使用 ServicePoint

我建议禁用限制并自行实现限制。对整个 AppDomain 使用一个全局限制对我来说没有意义。它也被隐藏且未记录以依赖 DefaultConnectionLimit。此外,DefaultConnectionLimit 默认为非常不同的默认值,具体取决于环境(2 与 int.MaxValue!)。

(4) 有code floating around这允许您以一定的并行度异步处理一系列项目。这是要走的路。受控的并行性、异步和流式处理,具有恒定的内存使用量。

关于c# - 一次启动了多少个异步(非多线程)操作?这是可配置的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527793/

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