Вопрос проверяет понимание причин deadlock и умение анализировать порядок выполнения задач в GCD.
Короткий ответ
Deadlock возникает, когда поток ждет завершения задачи, которая не может начаться. Чаще всего это происходит при вызове sync на той же очереди, в которой уже выполняется код. Очередь ждет сама себя. В результате выполнение останавливается навсегда. Это одна из самых частых ошибок при работе с GCD.
Длинный ответ
Зарегистрироваться
Развернутый ответ доступен только зарегистрированным пользователям.