Who is this for?
This book is for intermediate iOS developers who already know the basics of iOS and Swift development but want to learn how to make their app efficiently perform tasks without affecting performance, and how to properly divide work to utilize hardware to the fullest extent.
- Grand central dispatch
- Operations and operation queues
- Common concurrency problems
- Threads and thread sanitizer
Dive Into Concurrency in Your iOS Apps!
Learn what is Concurrency and why would you even want to utilize it in your apps? Learn about Grand Central Dispatch, Apple’s implementation of C’s libdispatch, also known as GCD, as it’s one of the simplest ways to queue up tasks to be...more
Before You Begin
This section tells you a few things you need to know before you get started, such as what you’ll need for hardware and software, where to find the project files for this book, and more.
Section I: Getting Started with Concurrency
In this part of the book, you’re going to learn about the basics of Concurrency. You’re going to learn what it is, what kind of problems it solves, and why would you even use it?
Further, you will learn the basic pieces of which Concurrency comprises in iOS development: Grand Central Dispatch and Operations.
This section will provide you with the foundational knowledge regarding Concurrency, so be sure to read through! The upcoming sections will dive much deeper into each of these concepts individually.
Section II: Grand Central Dispatch
In this section, you’ll take a deep dive into Apple’s most popular and easy-to-use mechanism to write and manage concurrent tasks — Grand Central Dispatch. You’ll learn how to utilize queues and threads to control the execution of tasks in your app, as well as how to group these tasks together. You’ll also learn about common pitfalls and dangers of using concurrency, and how you can avoid them.
Section III: Operations
Even though Grand Central Dispatch provides most of the concurrency capabilties you’ll need right out-of-the-box, sometimes you’ll want some extra customizability. This is where Operations come into play. This section will teach you about Operations, Operation Queues, and everything in between.
Section IV: Real-Life Concurrency
To wrap up this book, this section will be dedicated to showing you how all of the knowledge you’ve accumulated throughout this book could be used for some real-life purposes.
In this section, you’ll take a deeper dive into a common case where concurrency plays a huge role — Core Data — as well as learn about Apple’s Thread Sanitizer as a great tool to debug and resolve concurrency issues and confusions.