Task.WhenAny是否优先考虑某些任务而不是其他任务?

时间:2016-08-23 14:07:57

标签: c# .net task-parallel-library

将多个已完成的任务传递给Task.WhenAny执行Task.WhenAny优先选择任务完成任务将被返回?

1 个答案:

答案 0 :(得分:1)

如果您想知道确切的行为,通常可以查看reference source。例如,WhenAny可以找到here

查看源代码时,请注意返回的任务不是您的任务之一,而是内部创建的任务(CompleteOnInvokePromise实例或其延续),其Result将是你的任务之一。如果您将已完成的任务传递到WhenAny,则Result会立即设置为遇到的第一个已完成的任务。