Brent Simmons’s notes on threading in Cocoa applications:
- Stuff happening in threads is private and self-contained. Black boxes, train cars.
- Communication between two things should be on the main thread, except in carefully controlled circumstances. Communication includes notifications and KVO, not just direct calls.
- Using GCD or NSOperationQueue is way better than the old ways of doing threading.