Как я понимаю:
Очередь не является потоком
Основная и глобальная очередь могут работать в одном потоке
Отправлено : означает поставить задачу в очередь
Если Глобальная очередь отправлено в Основная очередь как Синхронизация , отправленная задачабудет работать в том же потоке Основная очередь и отправленная задача добавлена в Глобальная очередь , И эта задача заморозит поток
Если Глобальная очередь отправлена в Основная очередь как Асинхронная , отправленная задача будет работать в другом потоке Основная очередь и отправленаЗадача добавлена в Глобальная очередь , И эта задача не остановит поток
Если Основная очередь отправлена в Основная очередь как асинхронная , отправленная задача будет работать в том же потоке Основная очередь
Если Основная очередь dispatched in Основная очередь , поскольку синхронизация сделает исключение, потому что make deadlock
Dispatch.sync : поставить задачу в очередь и дождаться ее завершения
Dispatch.async : поставить задачу в очередь и не ждать ее завершения (задача может работать в том же потоке или в другом потоке)
Если задача отправляется в глобальную очередь и это согласие из основного потока, то задача добавляется в глобальную очередь, и создается новый поток, и задача немедленно начинает работать в новом потоке
Если задача отправляется в основную очередь и это согласие из основного потока, то задача будет добавлена в основную очередь и не будет работать сразу, пока не закончатся работы более старых задач в очереди (поскольку основная очередь является последовательной)