3. 异步任务
笔者写这个系列的文章,参考了 《C# 7.0 核心技术指南》、《C# 7.0 本质论》、《C# 多线程编程实战(原书第二版)》、微软文档和 Google 的资料。
《C# 7.0 核心技术指南》、《C# 7.0 本质论》这两本书,对多线程,异步这些方面,对于已经掌握的开发者来说,可以补充知识点,对于初学者就不太友好了,学习路线很曲折,不利于初学者学习。笔者觉得技术指南比本质论好一些。
C# 多线程编程实战(原书第二版)》这边书就没必要看了。。。因为这本书是基于 .NET Fx 4 的,有不少写法是过时的了。另外这边书几乎没用说到原理解析方面的,主要是示例多。示例内容对中文读者也不友好,而且大多数为了示例而示例,对于应用场景方面的使用很缺。
微软文档的话,主要是参考 API 和解释,但是中文翻译一言难尽。文档中的示例,假如说你在学习一个读写的锁,但是里面出现了很多 Task 等的代码一起组成示例。这就很迷,但是这个是文档,不是教程。也不利于系统式学习。
上面的资料和书籍,具体好不好,适合不适合,怎么学,就要看个人怎么选择啦。
第三部分的规划如下:
-
第一、二、三篇讲解 Task 的使用方法,在这三篇中主要关注 Task 的各种 API 使用方法,不会涉及异步。
-
第四篇讲解如何使用 Task 编排工作调度,设置并发、执行顺序、延续等。
-
第五篇讲解 async、await 的使用方法,以及异步使用场景。
-
第六篇讲解 Task、ValueTask 的区别和 ValueTask 的使用场景。
-
第七篇讲解如何自己实现一个异步状态机。
-
第八篇讲解如何实现 TaskScheduler ,自定义 Task 管理。
-
第九篇讲解如何使用 Task 编写消费者程序,进行任务管理。