Chapter    17

Concurrency

One of the biggest challenges in software development is writing software that will do more than one thing at a time. For decades, computers have been able to give an illusion of concurrency by quickly switching between tasks at a high rate, making it seem that they’re doing several things at once (when in reality they’re continuously flipping from one task to the next, only “paying attention” to one at a time). Today’s computers frequently contain two or more computation cores so they really can do multiple things at once, simultaneously executing instructions on all cores at the same time.

However, even if our computer’s hardware and OS are capable of working with a multitude of cores, writing application software ...

Get Learn Cocoa on the Mac, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.