任务组 `async` 与 `spawn`

mat*_*att 6 spawn async-await swift swift5.5

有谁知道,在新的 Swiftasync/await东西中,TaskGroupasync和之间有什么区别spawn,或者它们是纯同义词吗?(如果它们是同义词,我更喜欢spawn更好。async看起来我们正在打开一个async块,而这根本不是我们在做什么。)

https://developer.apple.com/documentation/swift/taskgroup/3814850-async

https://developer.apple.com/documentation/swift/taskgroup/3814884-spawn

Rob*_*Rob 5

SE-0304,告诉我们spawn已重命名async为第二次审查的一部分:

  • TaskGroup.spawnTaskGroup.spawnUnlessCancelled已更名为TaskGroup.asyncTaskGroup.asyncUnlessCancelled 将成为他们的最终名称。这将命名与重命名async let为表示创建子任务的词对齐。

斜体部分随后被删除,第三次审查再次将其重命名:

  • 重命名TaskGroup.asyncTaskGroup.asyncUnlessCancelledTaskGroup.addTaskTaskGroup.addTaskUnlessCancelled。这里的基本行为是我们向组添加任务。add 本身是不够的,因为我们没有添加一个值(可通过 访问next()),我们正在添加一个任务,其值可通过 访问next()。它还类似于使用Task { ... }来创建顶级任务。