ansync/await 运行流程图

1、流程图:

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

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

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

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

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

相关推荐
flysh051 分钟前
关于C#编程中的async / await关键字
开发语言·c#
m5655bj9 分钟前
使用 C# 将 RTF 文档转换为 PDF 格式
pdf·c#
李建军11 小时前
界止签章宗地号替换工具
c#
qq_4252633211 小时前
.net开发框架和语言
c#
武藤一雄11 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁
flysh0512 小时前
C# 架构设计:接口 vs 抽象类的深度选型指南
开发语言·c#
一只一只12 小时前
Unity之协程
unity·游戏引擎·协程·coroutine·startcoroutine
flysh0512 小时前
C# 中类型转换与模式匹配核心概念
开发语言·c#
故事不长丨14 小时前
C#字典(Dictionary)全面解析:从基础用法到实战优化
开发语言·c#·wpf·哈希算法·字典·dictionary·键值对
wtsolutions17 小时前
Sheet-to-Doc占位符系统详解:让数据自动填入Word指定位置
开发语言·c#