Вы запутались между тем, что такое очередь, и что означает async vs sync.
Очередь - это объект, на котором могут выполняться блоки. Они могут быть последовательными или одновременными. Последовательный означает, что если вы поставите блок в порядке A, B, C, D, то они будут выполнены A, затем B, затем C, затем D. Параллельный означает, что эти же блоки могут быть выполнены в другом порядке и, возможно, даже более одного одновременно (если, конечно, у вас есть несколько ядер для работы).
Затем на асинхронный против синхронизации. Асинхронизация означает, что при вызове dispatch_async
он немедленно вернет , и блок будет поставлен в очередь в очереди. Синхронизация означает, что при вызове dispatch_sync
он вернется только после завершения выполнения блока.
Таким образом, чтобы полностью ответить на ваш вопрос, если вы dispatch_sync
попадете в глобальную параллельную очередь, тогда этот блок будет запущен, возможно, параллельно с другими блоками в этой очереди, но синхронно - т.е. он не вернется до блок закончен.