苹果公司计划为 Swift 语言配备一个 "一流"的并发模型,旨在让 Swift 的并发编程变得高效、安全、便捷。
据 Swift 团队公布的路线图显示,其具体计划为:
- 以 Swift 消除 memory unsafety 的方式消除 data races 和死锁。
- 使异步编程在使用时方便且清晰。
- 提供开发人员可以遵循的一组标准语言工具和技术。
- 通过在编译时更好地了解异步代码,提高异步代码的性能。
官方表示,这些特性的引入将跨越多个 Swift 版本。引入过程将大致分为两个阶段。第一阶段将引入 async 语法和 actor 类型;这将允许用户围绕 actor 组织他们的代码,以减少但不消除 data races。第二阶段 Swift 团队则将实行 full actor isolation,以消除 data races。
第一阶段的具体建议包括:
- 向 Swift 引入了基于协程的 async/await 模型。
- Task API 和结构化并发,将 task 的概念引入标准库。
- Actors 和 actor isolation,描述了为并发程序提供 state isolation 的 actor 模型。
- 与 Swift 的前身语言 Objective-C 的并发互操作性。
- 异步处理程序,引入了将同步 actor 函数声明为异步处理程序的功能。
本文地址:https://www.oschina.net/news/120327/swift-concurrency-roadmap