Menu
Concurrency model proposed for Swift language

Concurrency model proposed for Swift language

'First-class’ concurrency model would make asynchronous programming in Swift convenient, efficient, and safe, according to a roadmap outlining the plan

Credit: Dreamstime

Plans are afoot to outfit Apple’s Swift language with a “first-class” concurrency model. The goal is to make concurrent programming in Swift efficient, safe, and convenient, according to the roadmap published at forums.swift.org.

Swift concurrency is intended to prevent data races on mutable state by default, through the implementation of asynchronous functions and actors. These will be introduced in two phases, first by bringing in the ability to create async functions and actors, and then by enforcing full actor isolation.

The end state of the proposed changes would do the following:

  • Eliminate data races and deadlocks in the same way Swift eliminates memory unsafety
  • Make asynchronous programming convenient and clear at its point of use
  • Provide a standard set of language tools and techniques that developers can follow
  • Improve performance of asynchronous code through better knowledge at compile time

The introduction of these features would span multiple Swift releases. The first phase, introducing the async syntax and actor types, would allow users to organise code around actors in such a way that would reduce but not eliminate data races.

The second phase, which would enforce full actor isolation, would eliminate data races. It also would offer features allowing efficient, ergonomic interoperation of actors needed to make the isolation practical.

Specific proposals for the first phase include:

  • Introduction of a coroutine-based async/await model to Swift
  • Task API and structured concurrency, introducing the concept of a task to the standard library
  • Actors and actor isolation, describing the actor model that provides state isolation for concurrent programs
  • Concurrency interoperability with Objective-C, Swift’s predecessor language
  • Async handlers, introducing the ability to declare a synchronous actor function as an asynchronous handler

Follow Us

Join the newsletter!

Or

Sign up to gain exclusive access to email subscriptions, event invitations, competitions, giveaways, and much more.

Membership is free, and your security and privacy remain protected. View our privacy policy before signing up.

Error: Please check your email address.

Tags AppleSwift

Featured

Slideshows

The Kiwi channel gathers for the 2020 Reseller News Women in ICT Awards

The Kiwi channel gathers for the 2020 Reseller News Women in ICT Awards

Hundreds of leaders from the New Zealand IT industry gathered at the Hilton in Auckland on 17 November to celebrate the finest female talent in the Kiwi channel and recognise the winners of the Reseller News Women in ICT Awards (WIICTA) 2020.

The Kiwi channel gathers for the 2020 Reseller News Women in ICT Awards
Leading female front runners honoured at the 2020 Reseller News Women in ICT Awards

Leading female front runners honoured at the 2020 Reseller News Women in ICT Awards

The leading female front runners of the New Zealand ICT industry joined together for the annual Reseller News Women in ICT Awards event at the Hilton in Auckland, during which hundreds of guests celebrated 13 outstanding individuals who won awards, chosen from more than 50 finalists representing over 30 organisations.

Leading female front runners honoured at the 2020 Reseller News Women in ICT Awards
Channel gathers to celebrate the Reseller News Innovation Awards 2020 winners

Channel gathers to celebrate the Reseller News Innovation Awards 2020 winners

More than 500 channel leaders gathered in Auckland on 21 October at the ​Reseller News Innovation Awards ​2020 to celebrate the achievements of the New Zealand technology industry's top partners, start-ups, vendors, distributors and individuals.

Channel gathers to celebrate the Reseller News Innovation Awards 2020 winners
Show Comments