【发布时间】:2022-01-20 04:22:41
【问题描述】:
有什么方法可以查询IO、定时器等进程中挂起的异步任务总数吗?
为什么我需要计算等待的任务? 在具有许多异步调用的高负载服务器中,我们有数千个任务,主要是 IO、信号量、延迟等。我认为他们使用系统信号/事件或.net 中的一些资源。它帮助我优化应用程序并发现内存泄漏或消耗。确实,任务完成后会清理内存,但可能会等待很长时间;我需要知道等待任务的数量。
【问题讨论】:
-
简短回答:不。您必须手动跟踪您的任务。
-
为了避免XY problem,您能否详细说明您为什么要这样做?
-
@TheodorZoulias 大多数异步任务不是手动创建的,它们不是线程。许多 IO 和同步任务都是创建简单的调用,例如 Task.Delay、Stream.ReadAsync
-
@GabrielLuci 我已经更新了我的问题
标签: c# .net async-await diagnostics