Junior — Middle
What is the purpose of the DispatchGroup object in task synchronization?
sobes.tech AI
Answer from AI
The DispatchGroup object in iOS is used to group multiple asynchronous tasks to monitor their completion. This allows executing code after all tasks in the group have finished, which is convenient for synchronizing parallel operations.
Example of usage:
let group = DispatchGroup()
group.enter()
DispatchQueue.global().async {
// Asynchronous task 1
print("Task 1 completed")
group.leave()
}
group.enter()
DispatchQueue.global().async {
// Asynchronous task 2
print("Task 2 completed")
group.leave()
}
group.notify(queue: .main) {
print("All tasks are completed")
}
Thus, DispatchGroup helps control the completion of multiple parallel operations and perform actions after their completion.