While I quite agree with your general point I think GCD is often under appreciated. Characterizing GCD as &quot;mostly just a thread pool with a nice API&quot; glosses over the key feature which Mike Ash specifically points out is not in this implementation: &quot;the number of threads in the global pool scales up and down with the amount of work to be done and the CPU utilization of the system.&quot; Making the pool aware of the utilization of the whole system as a whole is the key feature of GCD. This also cuts to why something like this is best if it is created and promoted by the system vendor: the more GCD is utilized by the system software and third party applications the better the system will perform as a whole.