Junior — Middle
Quel est le rôle et la fonction de la structure WaitGroup lors du développement en Go?
sobes.tech IA
Réponse de l'IA
En Go, la structure WaitGroup est utilisée pour synchroniser plusieurs goroutines. Elle permet à la goroutine principale d’attendre la fin d’un groupe d’autres goroutines.
Méthodes principales :
- Add(int) : augmente le compteur des goroutines attendues.
- Done() : diminue le compteur de 1, appelée à la fin d’une goroutine.
- Wait() : bloque l’exécution jusqu’à ce que le compteur atteigne 0.
Exemple d’utilisation :
var wg sync.WaitGroup
wg.Add(2) // attend 2 goroutines
go func() {
defer wg.Done()
// travail de la goroutine 1
}()
go func() {
defer wg.Done()
// travail de la goroutine 2
}()
wg.Wait() // attend la fin des deux goroutines
Ainsi, WaitGroup aide à gérer correctement l’exécution parallèle et l’attente de la fin des tâches.