Task 类和 Task<TResult> 类提供多种方法,这些方法能够帮助你组合多个任务以实现常见模式,你可以等待多个 Task 和 Task<TResult> 对象在一个方法调用中完成。

Task.WhenAny

WhenAny 方法来选择先完成的运算,然后取消剩余的运算。

  • 在一项运算完成后,可以启动一个或多个其他任务。

  • WhenAny 方法通过限制并发运算的数量来扩展前面的情境。

  • Delay 方法返回的任务)间进行选择

  • 你可使用此方法来生成偶尔轮询数据的循环,引入超时,将对用户输入的处理延迟预定的一段时间等。

 表示 Task 的生命周期中的当前阶段

字段
Canceled 6

Created 0

该任务已初始化,但尚未被计划。

Faulted 7

由于未处理异常的原因而完成的任务。

RanToCompletion 5

已成功完成执行的任务。

Running 3

该任务正在运行,但尚未完成。

WaitingForActivation 1

该任务正在等待 .NET 基础结构在内部将其激活并进行计划。

WaitingForChildrenToComplete 4

该任务已完成执行,正在隐式等待附加的子任务完成。

WaitingToRun 2

该任务已被计划执行,但尚未开始执行。

相关文章:

  • 2021-04-09
  • 2021-05-10
  • 2022-12-23
  • 2022-01-31
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
猜你喜欢
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2022-12-23
  • 2021-05-05
相关资源
相似解决方案