Sobes.tech
Junior — Middle
82

Каким образом можно реализовать механизм синхронизации с помощью DispatchGroup в вашем коде?

Answer from AI

sobes.tech AI

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

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

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: DispatchQueue.main) {
    print("Все задачи завершены")
}

Здесь мы вручную вызываем enter() перед началом каждой асинхронной задачи и leave() после её завершения. Метод notify позволяет выполнить блок кода, когда все задачи в группе завершены.