功能需求
在 Swift 新结构化并行模型的开发中, 提出了任务组(TaskGroup)和异步序列(AsyncSequence)的概念。有时候,为了简洁和效率方面的原因,我们需要将 TaskGroup 的结果转换为异步序列。
如上图所示,我们试图将任务组的结果转换为异步序列,但不幸失败了。
那么,最终我们到底能否得偿所愿呢?在本篇博文中,您将学到如下内容:
文章目录
- 功能需求
- 功能分析
-
- 1. 等待任务组的结果为什么是低效行为?
- 2. 几种失败的转换方案
- 3. 转换为异步序列的第一种方法
- 4. 转换为异步序列的第二种方法
- 5. 将任务组结果转换为异步序列带来的效率提升
- 6. 如何取消任务组的执行
- 7. 如何限制任务组同时并发执行的子任务