Gus*_*man 4 c# multithreading asynchronous task
我正在创建一个将产生大量工作任务的系统,在我的应用程序中,我正在执行Task.WaitAny以检索第一个完成的任务。
我担心的是我可以发送多少个任务给WaitAny,我知道WaitHandle的WaitAny / All最多只能支持64个等待句柄,而且我不确定Task.WaitAny的基础机制是否在内部使用等待句柄来等待完成。任务,因此这些限制适用于他们。
可以将多少个任务传递给Task.WaitAny(与WaitHandles一样)有没有限制?
干杯。
据我所知,它在内部通过将所有任务的延续链接在一起而起作用:http : //referencesource.microsoft.com/#mscorlib/system/threading/Tasks/TaskFactory.cs,db51a91904616672
(具有内部优化功能,以及一些优化功能)多个任务一次结束时处理竞态的代码)
因此,对WaitHandles的限制不应在此处应用。
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |