Community curated · Swift concurrency
Aswift Swift Concurrency
What is Swift Concurrency
Swift has built-in support for writing asynchronous and parallel code in a structured way.
WWDC
#Proposals
#- SE-0296: Async/await
- SE-0297: Concurrency Interoperability with Objective-C
- SE-0298: Async/Await: Sequences
- SE-0300: Continuations for interfacing async tasks with synchronous code
- SE-0302: Sendable and @Sendable closures
- SE-0304: Structured concurrency
- SE-0306: Actors
- SE-0310: Effectful read-only properties
- SE-0311: Task Local Values
- SE-0313: Improved control over actor isolation
- SE-0314: async-stream
- SE-0316: Global actors
- SE-0317: async let
- SE-0323: async-main-semantics
- SE-0327: actor-initializers
- SE-0331: remove-sendable-from-unsafepointer
- SE-0336: distributed-actor-isolation
- SE-0337: support-incremental-migration-to-concurrency-checking
- SE-0338: clarify-execution-non-actor-async
- SE-0340: swift-noasync
- SE-0343: top-level-concurrency
- SE-0344: distributed-actor-runtime
Articles
#Andy Ibanez
- Modern Concurrency in Swift: Introduction
- Understanding async/await in Swift
- Converting closure-based code into async/await in Swift
- Structured Concurrency in Swift: Using async let
- Converting closure-based code into async/await in Swift
- Structured Concurrency in Swift: Using async let
- Structured Concurrency With Group Tasks in Swift
- Introduction to Unstructured Concurrency in Swift
- @MainActor and Global Actors in Swift
- Sharing Data Across Tasks with the @TaskLocal property wrapper in the new Swift Concurrency Model
- Using AsyncSequence in Swift
- Modern Swift Concurrency Summary, Cheatsheet, and Thanks
Discovery Concurrency - Swift by Sundell
- Using Combine’s share operator to avoid duplicate work
- Async sequences, streams, and Combine
- Throwing and asynchronous Swift properties
- Calling async functions within a Combine pipeline
- Connecting async/await to other Swift code
- Using the MainActor attribute to automatically dispatch UI updates on the main queue
- Unit testing Swift code that uses async/await
- Swift actors: How do they work, and what kinds of problems do they solve?
- What role do Tasks play within Swift’s concurrency system?
- Lightweight dependency injection and unit testing using async functions
- Delaying an asynchronous Swift Task
Donny Wals Blog
- Thoughts on Combine in an async/await world
- WWDC Notes: Meet async await in Swift
- WWDC Notes: Explore structured concurrency in Swift
- WWDC Notes: Protect mutable state with Swift actors
- WWDC Notes: Meet AsyncSequence
- WWDC Notes: Discover concurrency in SwiftUI
- WWDC Notes: Bring Core Data concurrency to Swift and SwiftUI
- WWDC Notes: Swift concurrency: Behind the scenes
- An introduction to synchronizing access with Swift’s Actors
- What are Swift Concurrency’s task local values?
- Running tasks in parallel with Swift Concurrency’s task groups
- Running tasks concurrently with Swift Concurrency’s async let
- Using Swift Concurrency’s task group for tasks with varying output
- Building a token refresh flow with async/await and Swift Concurrency
- Using Swift’s async/await to build an image loader
- Understanding Swift’s AsyncSequence
SwiftLee
- Actors in Swift: how to use and prevent data races
- MainActor usage in Swift explained to dispatch to the main thread
- Async await in Swift explained with code examples
- Async let explained: call async functions in parallel
- Thread Sanitizer explained: Data Races in Swift
- Race condition vs. Data Race: the differences explained
- Nonisolated and isolated keywords: Understanding Actor isolation
- Sendable and @Sendable closures explained with code examples
- Creating an App Update Notifier using Combine and async/await
Raywenderlich
The Swifter Dev
Swift Senpai
DevelopersIO JP
Shahzad Bhatti
David Barkman
OneVCat
Ben Scheirman
Bruno Lorenzo
Sergio De Simone
Geekculture
vonage
Podcast
Video
Structured Concurrency (Part 1)
We start implementing a download manager as a sample project for exploring Swift's new concurrency model.
Getting Started with Swift Concurrency (Async Await, Actors, Continuations, Tasks)
In this video, we're going to explore Swift Concurrency and some of the new capabilities we get in Swift. In this Swift Concurrency tutorial, we'll be lookin...
Actors & Structured Concurrency, Live! 🎙 with Donny Wals
Live streams are back, with the awesome guest Donny Wals 🎙Now that Actors and Structured Concurrency have been officially announced at WWDC, it's more than ...
Swift 5.5. Async/Await - SwiftBook
Всем привет! В этом видео мы поговорим о новой концепции языка Swift 5.5 - async/await, которая позволяет работать с асинхронным кодом без блоков замыкания, позволяя писать более простой и чистый код. Поехали! Конечный проект
💰 Async/Await and Actors - Concurrency in Swift
💰
Episode #154: Async Refreshable: Composable Architecture
The Composable Architecture does not yet support any of the fancy new concurrency features from WWDC this year, so is it possible to interact with async/await APIs like `.refreshable`? Not only is it possible, but it can be done without any changes to the core library.
Swift Actor 實作探索 | COSCUP x RubyConfTW 2021
Swift 最近新增了最潮的 actor 與 async/await。讓我們一起從編譯器的角度來探索 Swift actor 的獨到之處,像是資料獨立性,型別安全等。來看看 Swift 如何讓 actor model 更加安全與方便使用。難度: 中等預期聽眾:對編譯器並行運算實作有興趣者,對 Swift Acto...
Book
#Swift Concurrency by Example
Swift Concurrency by Example walks you through the many and varied ways of running concurrent code in Swift, including async/await, tasks, actors, and more. THIS IS AN EARLY, INCOMPLETE EDITION OF THE BOOK.
Modern Concurrency in Swift
Landing page for the book 'Modern Concurrency in Swift'
Course
SwiftUI Concurrency - Design+Code
Concurrency, swipe actions, search feature, AttributedStrings and accessibility were concepts discussed at WWDC21. This course explores all these topics, in addition to data hosting in Contentful and data fetching using Apollo GraphQL Purchase includes access to 30+ courses, 100+ premium tutorials, 120+ hours of videos, source files and certificates.