Junior — Middle
Cum se poate implementa un mecanism de sincronizare folosind DispatchGroup în codul dumneavoastră?
sobes.tech AI
Răspuns de la 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 позволяет выполнить блок кода, когда все задачи в группе завершены.