gpt4 book ai didi

c# - Task.WaitAny 的最大任务?

转载 作者:太空狗 更新时间:2023-10-30 00:23:24 28 4
gpt4 key购买 nike

我正在创建一个系统,该系统会生成大量辅助任务,并且在我的应用程序的某个位置,我正在执行 Task.WaitAny 以检索第一个完成的任务。

我关心的是我可以向 WaitAny 发送多少任务,我知道 WaitHandle 的 WaitAny/All 最多只能支持 64 个等待句柄,我不确定 Task.WaitAny 的底层机制是否使用内部等待句柄来等待对于已完成的任务,因此这些限制适用于他们。

对于可以传递给 Task.WaitAny 的任务数量是否有任何限制,比如 WaitHandles 还是没有限制?

干杯。

最佳答案

据我所知,它在内部通过将一个延续链接到所有任务来工作:http://referencesource.microsoft.com/#mscorlib/system/threading/Tasks/TaskFactory.cs,db51a91904616672
(通过内部优化,以及一些代码来处理多个任务同时结束时的竞争情况)

因此,对 WaitHandles 的限制不应适用于此。

关于c# - Task.WaitAny 的最大任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353658/

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