Concurrency in iOS

Concurrency is the ability to execute multiple tasks or processes simultaneously. Modern iOS apps often have to handle multiple tasks at once, such as processing user input, loading data from a server, and updating the user interface. Understanding how to design and implement concurrent code is crucial for building high-quality and responsive iOS apps that deliver a smooth user experience.

Concurrency in iOS

Learning path · 3 video courses (8 hrs, 30 mins)
Modern Concurrency: Getting Started
Learn how to use Swift’s new native model for writing safe, efficient concurrent code. Create safe, performant and predictable asynchronous apps using these Swift concurrency features: async/await Tasks MainActor Asynchronous sequences
Modern Concurrency: Beyond the Basics
Build on your knowledge of async/await, tasks and asynchronous sequences to use concurrent tasks in safe, performant and predictable asynchronous apps. Learn how to create and use custom AsyncStream sequences, continuations, task groups and custom actors.
iOS Concurrency with GCD and Operations
Learn how to add concurrency to your apps! Keep your app’s UI responsive to give your users a great user experience, and learn how to avoid common concurrency problems, like race condition, priority inversion and deadlock.

After completing this learning path…

…you’ll know how to write safe, efficient concurrent code with both GCD and Swift's native concurrency model while avoiding common concurrency problems, like race conditions, priority inversion and deadlock.

Up next

iOS & Swift
Programming in Swift: Fundamentals
Learn about Apple’s open source programming language, Swift, through hands-on examples! Take a deep dive into the Swift language, learning about core Swift concepts like loops, collections, types, optionals, functions, classes, and more.