ansync/await 运行流程图

1、流程图:

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

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

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

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

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

相关推荐
★YUI★44 分钟前
学习制作记录(选项UI以及存档系统)8.24
学习·游戏·ui·unity·c#
liulilittle2 小时前
.NET反射与IL反编译核心技术
开发语言·数据库·c#·.net·反射·反编译·il
月巴月巴白勺合鸟月半2 小时前
Teams Bot机器人实时语音识别的多引擎的处理
机器人·c#
hixiong1234 小时前
C# 编写一个XmlToDota的转换工具
开发语言·人工智能·yolo·c#
用户3721574261354 小时前
C# 高保真 Word 转 HTML 实战指南
c#
gloomyfish5 小时前
【零代码】OpenCV C# 快速开发框架演示
人工智能·opencv·c#
枯萎穿心攻击7 小时前
从 Unity UGUI 到 Unreal UMG 的交互与高效实践:UI 事件、坐标系适配与性能优化
开发语言·ui·unity·性能优化·ue5·游戏引擎·虚幻引擎
星夜泊客11 小时前
C# 浮点数与定点数详细解析
开发语言·c#·定点数·浮点数
SmalBox1 天前
【渲染流水线】[逐片元阶段]-[深度测试]以UnityURP为例
unity·渲染