Thank the dispatch queue and Xcode will yell at you if you do anything other than UI and very trivial computes on the main UI thread
Obviously if you're writing an event-loop web server, then your file IO needs to be non-blocking or you're hosed. On the other hand, if you're reading a small configuration file from disk after your app launches, the most responsive option may well be to just read the bytes on the current thread and continue.
https://web.archive.org/web/20190606075031/https://twitter.c...
https://web.archive.org/web/20211005132519/https://twitter.c...