There’s an old joke about multitasking:
A programmer has a problem and thinks, “I can fix this using multitasking!”
have Now problems! two they
(Hey, I said it was old, I didn’t say it was funny!)
The point is that when you start running multiple pieces of code at the same time, they can complete in any order – the “now they have two problems!” punchline got mashed up.
In fact, race conditions are a whole category of bugs caused by one task completing before it was supposed to – they are particularly nasty to fix because sometimes work completes in the correct order and everything works great, which is why we call it a race.
Yesterday was a gentle introduction to multi-tasking using Grand Central Dispatch, but we’ll be coming back to it more in the future. In the meantime, make sure you test what you’ve learned so you can be sure it’s all sunk in.
Today you should work through the wrap up chapter for project 9, complete its review, then work through all three of its challenges.
Need help? Tweet me @twostraws!