page contents

面试题|请简述 Task状态机的实现和工作机制

轩辕小不懂 发布于 2021-04-19 09:37
阅读 609
收藏 0
分类:C/C++开发
643
Pack
Pack

CPS全称是 ContinuationPassingStyle,在 .NET中,它会自动编译为:

将所有引用的局部变量做成闭包,放到一个隐藏的 状态机的类中;

将所有的 await展开成一个状态号,有几个 await就有几个状态号;

每次执行完一个状态,都重复回调 状态机的 MoveNext方法,同时指定下一个状态号;

MoveNext方法还需处理线程和异常等问题。

请先 登录 后评论