GCD is purely callback-based. It works neatly with Apple&#x27;s &quot;blocks&quot; (inline capturing functions) extension to C, which make dealing with callbacks slightly nicer, but it&#x27;s still just a sequence of callbacks.<p>Fully fledged coroutines let you save and resume execution in place. The main advantage is readability of conditional&#x2F;looping control flow, which tends to quickly devolve into a mess in callback style code.