gpt4 book ai didi

.net-4.0 - 有没有办法知道任务并行库中当前正在运行哪些任务?

转载 作者:行者123 更新时间:2023-12-02 20:05:39 24 4
gpt4 key购买 nike

我看不到查看哪些任务正在运行的方法。有 Task.Current 属性,但是如果有多个任务正在运行怎么办?有没有办法获取此类信息?

或者,是否有内置方法可以在任务开始或完成时收到通知?

最佳答案

嘿,Mike,没有公开的方法可以访问 TPL 中的待处理任务列表。使其可供调试器使用的机制依赖于这样一个事实:所有线程都将在枚举时被卡住,因此它不能在运行时使用。

是的,有一种内置方法可以在任务完成时收到通知。查看 Task.ContinueWith API。基本上,此 API 创建一个新任务,该任务将在目标任务完成时启动。

我假设您想基于此进行一些快速记帐/进度报告,如果是这样,我建议您使用 TaskContinuationOptions.ExecuteSynchronously 标志调用 task.ContinueWith() 。当您指定目标任务完成时,继续操作将在同一线程上运行(如果您未指定此操作,则继续任务将像任何其他常规任务一样排队)。

希望这有帮助。

侯赛因

关于.net-4.0 - 有没有办法知道任务并行库中当前正在运行哪些任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551537/

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