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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.