Сопоставление Middle GCD и OperationQueue обновлено
Инструменты GCD и их задачи
Вопрос
Сопоставьте API и задачу.
Попробуйте сами
Нажмите слева, потом подходящее справа.
Показать ответ и разбор
Коротко
Это основные примитивы libdispatch. Группа собирает завершения, семафор считает разрешения, барьер даёт reader-writer, asyncAfter откладывает, источники событий реагируют на таймеры и файловые события.
Правильные пары
DispatchGroupДождаться завершения набора асинхронных задачDispatchSemaphoreОграничить число одновременных доступов.barrierЭксклюзивная запись в concurrent-очередиasyncAfterВыполнить блок с задержкойDispatchSourceТаймер или события файловых дескрипторовРазбор
Это основные примитивы libdispatch. Группа собирает завершения, семафор считает разрешения, барьер даёт reader-writer, asyncAfter откладывает, источники событий реагируют на таймеры и файловые события.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
DispatchQueue.main.sync на главном потоке
Следующий вопрос
Синхронный доступ к состоянию без очереди
Термины по теме
Ещё по теме «GCD и OperationQueue»
- Асинхронная Operation
- Барьер для потокобезопасного кеша
- Инверсия приоритетов
- DispatchSemaphore для ограничения параллельности
- DispatchWorkItem и отмена
- Как дождаться нескольких запросов в GCD
- Задача на Swift: операции с зависимостями и критический путь
- Задача на Swift: OperationQueue с ограничением параллельности