Antes de Grand Central Dispatch (GCD), escribir código concurrente en Cocoa significaba administrar hilos a mano: crear un NSThread o un pthread, decidir cuántos crear, sincronizar el acceso a los datos compartidos con locks, y destruirlos cuando ya no se necesitaban. Cada una de esas decisiones era responsabilidad del desarrollador, y cada una...