ansync/await 运行流程图

1、流程图:

2、await 之后的方法是何时执行,如何执行的?

await 的方法在 Task 执行完成之后,通过调用 Finish 方法执行的。

具体的执行步骤是先将 MoveNext 方法注册到 Task 的回调里,然后在 Task 执行完后调用这个方法。

为什么 await 之后的代码会在不同的线程执行?

这个其实是因为 Task 的机制,Task 会被推到线程池里,由线程池挑选一个线程去执行,await 之后的代码其实是由这个线程去执行的,自然就跟 await 的之前的代码不是一个线程。

相关推荐
绿浪19841 小时前
C#与C++高效互操作指南
c++·c#
jghhh011 小时前
基于C#的CAN总线BMS上位机开发方案
开发语言·c#
咸鱼永不翻身1 小时前
Unity视频资源压缩详解
unity·游戏引擎·音视频
在路上看风景1 小时前
4.2 OverDraw
unity
MyBFuture2 小时前
编程实战:相机连接与参数设置指南
windows·c#·visual studio·vision pro·联合编程
kylezhao20192 小时前
深入浅出理解 C# WPF 的事件
开发语言·c#·wpf
我要打打代码2 小时前
C# 各种类库
开发语言·c#
在路上看风景2 小时前
1.10 CDN缓存
unity
ellis197012 小时前
Unity插件SafeArea Helper适配异形屏详解
unity
nnsix13 小时前
Unity Physics.Raycast的 QueryTriggerInteraction枚举作用
unity·游戏引擎