Chapter 14. Concurrency and Parallelism in Swift
When I first started learning Objective-C, I already had a good understanding of concurrency and multitasking with my background in other languages, such as C and Java. This background made it very easy for me to create multithreaded applications using threads in Objective-C. Then, Apple changed everything when they released Grand Central Dispatch (GCD) with OS X 10.6 and iOS 4. At first, I went into denial: there was no way GCD could manage my application's threads better than I could. Then I entered the anger phase: GCD was hard to use and understand. Next was the bargaining phase: maybe I can use GCD with my threading code, so I could still control how the threading worked. Then there was the depression phase: maybe GCD does handle threading better than I can. Finally, I entered the wow phase: this GCD thing is really easy to use and works amazingly well. After using GCD on Apple platforms for so long, I was very happy to hear that Apple...