ansync/await 运行流程图

1、流程图:

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

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

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

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

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

相关推荐
mascon15 分钟前
unity mcp 使用
unity·游戏引擎
ytttr87332 分钟前
C# 读取数据库表结构工具设计与实现
开发语言·数据库·c#
心前阳光1 小时前
Unity之语音提问,语音答复
unity·游戏引擎
鸽子一号1 小时前
c#笔记之lambda表达式和linq
笔记·c#·linq
qq_391105342 小时前
TDengine C# 连接示例和授权管理
大数据·数据库·c#·时序数据库·tdengine
mxwin2 小时前
Unity Shader UV 坐标与纹理平铺Tiling & Offset 深度解析
unity·游戏引擎·shader·uv
a17798877123 小时前
小程序码的生成与获取码中的scene
小程序·c#
无风听海3 小时前
.NET10之C# Target-typed new expression深入解析
windows·c#·.net
chao1898443 小时前
基于STM32F1的声源定位系统设计与实现
stm32·嵌入式硬件·unity
这辈子谁会真的心疼你4 小时前
怎么修改pdf文档属性?介绍三个方法
数据库·pdf·c#