Swift 5.5 introduced an exciting new set of concurrency APIs. Starting with async/await, the language has received a set of features that allow us to write shorter, concise, and more obvious concurrent code. You will learn how the new concurrency APIs help us avoid “pyramids of doom” with async/await, how structured concurrency is cooperative and how to apply it in the world; how unstructured concurrency gives us more control without sacrificing code readability; how to transform callback and even delegate based code into async/await, and how actors isolate their own state to make them usable across concurrent code. We will finish this course giving a bird’s eye overview of other new concurrency features, such as global actors, the @TaskLocal property wrapper, and AsyncSequences and AsyncStreams. By the end of this workshop, you will have a solid of understanding of the new concurrency system in Swift in order to tackle concurrency problems in the real world.
Xcode 13 is required for this course, as the sample code will be built with SwiftUI targeting the latest Apple OSes.
The following sample project was created in this workshop. You will also find the slides(
ModernConcurrencyWorkshopSWWSept2021.key) in this Github repo: