摘要: C#的CLR(即 common language runtime,公共语言运行库)包含两种任务组合器:Task.WhenAny和Task.WhenAll。 我们先定义如下方法: async Task<int> Delay1() { await Task.Delay(1000); return 1; 阅读全文
posted @ 2022-06-28 21:56 一纸年华 阅读(2297) 评论(0) 推荐(3) 编辑
摘要: 在C#8之前,可以使用yield return实现迭代器,也可以用await书写异步函数。但无法两者结合,实现一个可以等待的迭代器。C#8引入了异步流解决了这个问题。 异步流基于以下两个接口。 public interface IAsyncEnumerable<out T> { IAsyncEnum 阅读全文
posted @ 2022-06-28 21:55 一纸年华 阅读(375) 评论(0) 推荐(0) 编辑