C# 组合任务

网友投稿 326 2022-09-05

C# 组合任务

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

Task.WhenAny

​​Task.WhenAny​​​ 方法异步等待多个 ​​Task​​​ 或 ​​Task​​​ 对象中的一个完成, ​​WhenAny​​​ 方法在下列情境中尤其有用。\冗余运算。 请考虑可以用多种方式执行的算法或运算。 你可使用 ​​WhenAny​​ 方法来选择先完成的运算,然后取消剩余的运算。

交叉运算。 你可启动必须全部完成的多项运算,并使用​​WhenAny​​ 方法在每项运算完成时处理结果。 在一项运算完成后,可以启动一个或多个其他任务。受限制的运算。 你可使用​​WhenAny​​ 方法通过限制并发运算的数量来扩展前面的情境。过期的运算。 你可使用​​WhenAny​​ 方法在一个或多个任务与特定时间后完成的任务(例如 ​​Delay​​ 方法返回的任务)间进行选择1.​​Task.Delay​​ 方法将生成在指定时间后完成的 ​​Task​​ 对象。 你可使用此方法来生成偶尔轮询数据的循环,引入超时,将对用户输入的处理延迟预定的一段时间等。

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

字段

Canceled

6

该任务已通过对其自身的 CancellationToken 引发 OperationCanceledException 对取消进行了确认,此时该标记处于已发送信号状态;或者在该任务开始执行之前,已向该任务的 CancellationToken 发出了信号。

Created

0

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

Faulted

7

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

RanToCompletion

5

已成功完成执行的任务。

Running

3

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

WaitingForActivation

1

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

WaitingForChildrenToComplete

4

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

WaitingToRun

2

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:休克文案:太二酸菜鱼,开发廊了!
下一篇:ASP.NET Identity详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~