ansync/await 运行流程图

1、流程图:

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

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

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

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

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

相关推荐
lrh302515 小时前
Custom SRP - 14 Multiple Cameras
unity·渲染管线·srp
小码编匠17 小时前
.NET 10 性能突破:持续优化才是质变关键
后端·c#·.net
mudtools19 小时前
.NET驾驭Excel之力:Excel应用程序的创建与管理
c#·.net·excel·wps
mudtools19 小时前
.NET驾驭Excel之力:自动化数据处理 - 开篇概述与环境准备
c#·自动化·.net·excel·wps
唐青枫19 小时前
C#.NET WebAPI 返回类型深度解析:IActionResult 与 ActionResult<T> 的区别与应用
c#·.net
William_cl1 天前
C# ASP.NET MVC 数据验证实战:View 层双保险(Html.ValidationMessageFor + jQuery Validate)
后端·c#·asp.net·mvc
狮子不白1 天前
C#WEB 防重复提交控制
开发语言·前端·程序人生·c#
Charles_go1 天前
C#8、有哪些访问修饰符
java·前端·c#
yue0081 天前
C# 求取整数的阶乘
java·开发语言·c#
黑咩狗夜.cm1 天前
Aspose.word实现表格每页固定表头、最后一行填满整个页面
开发语言·c#·word