Nice, I enjoyed reading your article.
Although the GCD subject is much wider than this, just two notes I think could fit good in this article also:
- Mention that the terminology for the bad ‘main.sync’ inside ‘main.sync’ code, the effect of two tasks that are waiting for each other to finish endlessly is “Deadlock”.
- A brief explanation of Concurrency with/without Parallelism.
But overall, very good and straightforward! :)