Для нового асинхронного кода обычно выбирают async/await и структурированные задачи; GCD остаётся уместным на границах legacy API и конкретных очередей.
Используете ли сейчас GCD или Modern Concurrency (async/await) для новых задач, связанных с потоками?
Для нового асинхронного кода обычно выбирают async/await и структурированные задачи; GCD остаётся уместным на границах legacy API и конкретных очередей.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для нового асинхронного кода обычно выбирают async/await и структурированные задачи; GCD остаётся уместным на границах legacy API и конкретных очередей.
Async/await делает ожидание и ошибки явными, а task groups помогают управлять связанными задачами. Это не означает «весь код автоматически выполняется в фоне»: изоляция actor и CPU-тяжёлая работа требуют отдельного решения.
GCD не нужно массово заменять без цели. При взаимодействии с callback API используйте корректный мост, обеспечивая однократное завершение и отмену. На собеседовании уточните фактический стек проекта, минимальные версии и почему выбранный подход уменьшает сложность, а не просто является более новым.
Источник: raw.githubusercontent.com.