Paradigms
Swift supports Language-level concurrency in Swift, however, it is still early days and inevitably you will encounter prior paradigms of concurrency in Swift. You will need to understand these prior paradigms and how to interoperate between them.
pointfree.co has a fantastic series1 that is a deep-dive on the past, present, and future of concurrency in Swift.
Past: Threads
Episode #190: Concurrency’s Past: Threads
Present: Queues
Calling Queues the present is a bit relative. We are currently in the middle of a transition so language-level concurrency is becoming the new present. Episode #191: Concurrency’s Present: Queues and Combine
Future: Language-level concurrency in Swift
Tasks and Cooperation
Episode #192: Concurrency’s Future: Tasks and Cooperation
Sendable and Actors
Episode #193: Concurrency’s Future: Sendable and Actors
Structured and Unstructured
Episode #194: Concurrency’s Future: Structured and Unstructured
Cheat Sheet
Helpful Resources
- ConcurrencyRecipes – Swift Package Index
- Ep. 43 with Holly Borla on Swift Package Indexing podcast
- Matthew Massicotte - The Bleeding Edge of Swift Concurrency - YouTube
Footnotes
Footnotes
-
Note: Pointfree’s content is behind a paywall, so out of respect to them, I’ll only be posting my personal notes, and will try not to give away everything that is in their paid episodes. That being said index is phenomenal and is worth the cost. If you would like to try it and get a month for free (as well as help me out with a free month) then please check out this link. ↩