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!
SPONSORED Catch bugs as soon as they happen and know exactly why a crash occurred. Instabug's SDK grabs all the logs they need to fix bugs, crashes and performance issues in minutes instead of days. Get screenshots, device details, network logs, repro steps, and tons of other critical insights needed to resolve issues and prioritize product backlogs straight from your dashboard. It only takes a minute to integrate!
Link copied to your pasteboard.