Sobes.tech
Назад к вопросам
Junior — Middle
77

Имели ли опыт использования DispatchGroup в своих проектах для синхронизации задач?

Компании, где спрашивали
Вкусно и точкаВкусно и точка

Ответ от нейросети

sobes.tech AI

DispatchGroup используется для синхронизации нескольких асинхронных задач в iOS. Он позволяет отслеживать, когда группа задач завершила выполнение, и выполнять код после этого.

Пример использования:

let group = DispatchGroup()

group.enter()
DispatchQueue.global().async {
    // Асинхронная задача 1
    print("Задача 1 выполнена")
    group.leave()
}

group.enter()
DispatchQueue.global().async {
    // Асинхронная задача 2
    print("Задача 2 выполнена")
    group.leave()
}

group.notify(queue: .main) {
    print("Все задачи завершены")
}

В этом примере две асинхронные задачи выполняются параллельно, а после их завершения вызывается блок notify на главной очереди. Это удобно для координации нескольких операций, например, загрузки данных из разных источников.