.net core 下的同步/异步改造实践上篇:同步转异步

目录

  • 前言:异步处理流程
  • 第一式简短精悍:Task.FromResult
  • 第二式低内存消耗:ValueTask
  • 第三式减轻CPU负担:引入Parallel
  • 第四式改造构造函数:异步工厂
  • 第五式改造属性:异步方法替换属性
  • 第六式标志参数:一个方法两个实现
  • 错误做法一:Task.Run
  • 小结

采用async是一场激动人心的旅程,虽然最终的风景美丽宜人,但需要爬过的小山还是比较多的。注意其中的诀窍,需要从最底层往上层逐步改造,如果您没有时间一次性将整个基本代码转换成异步代码,则可以通过略微修改(称为垂直分区)逐渐完成转换。通过这一技巧,您可以对特定的代码部分进行异步转换。如果您只是“尝试”异步代码,垂直分区非常适合您。若要创建垂直分区,请确定您要进行异步转换的用户级代码。也许,它是保存到数据库(其中,您要保持 UI 响应)的 UI 按钮的事件处理程序,或是执行相同操作的常用 ASP.NET 请求(其中,您要减少特定请求所需的资源)。查看该代码,同时列出该方法的调用树。然后,您可以在低级别方法中开始,向上完成整个树的转换。现在就来看看怎么把现有的项目改造为支持async和await的异步方法吧…

你可能感兴趣的:(.net,core,深度剖析)