Chapter 2. Programming Grand Central Dispatch
Grand Central Dispatch, or GCD for short, is a low-level C API that works with block objects. The real use for GCD is to dispatch tasks to multiple cores without making you, the programmer, worry about which core is executing which task. On Mac OS X, multicore devices, including laptops, have been available to users for quite some time. With the introduction of multicore devices such as the iPad 2, programmers can write amazing multicore-aware multithreaded apps for iOS. See the preface for more background on the importance of multicores.
In Chapter 1 we learned how to use block objects. If you have not read that chapter, I strongly suggest that you do straight away, as GCD relies heavily on block objects and their dynamic nature. In this chapter, we will learn about really fun and interesting things that programmers can achieve with GCD in iOS and Mac OS X.
Short Introduction to Grand Central Dispatch
At the heart of GCD are dispatch queues. Dispatch queues, as we will see in Different Types of Dispatch Queues, are pools of threads managed by GCD on the host operating system, whether it is iOS or Mac OS X. You will not be working with these threads directly. You will just work with dispatch queues, dispatching tasks to these queues and asking the queues to invoke your tasks. GCD offers several options for running tasks: synchronously, asynchronously, after a certain delay, etc.
To start using GCD in your apps, you don’t have to import any ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access