任务组`async`与`spawn`

有谁知道,在新的 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

回答

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

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

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

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

以上是任务组`async`与`spawn`的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>