Junior — Middle
Pouvez-vous expliquer ce qu'est un Wait Group et à quoi il sert en programmation?
sobes.tech IA
Réponse de l'IA
Wait Group en Go est une structure du paquet sync utilisée pour attendre la fin d’un groupe de goroutines. Elle permet à la goroutine principale (ou une autre) de se bloquer jusqu’à ce que toutes les goroutines lancées aient terminé leur travail.
Méthodes principales :
Add(int)— augmente le compteur des goroutines attendues.Done()— diminue le compteur, appelée à la fin d’une goroutine.Wait()— bloque l’exécution jusqu’à ce que le compteur atteigne zéro.
Exemple d’utilisation :
var wg sync.WaitGroup
wg.Add(2) // attend 2 goroutines
go func() {
defer wg.Done()
// travail de la première goroutine
}()
go func() {
defer wg.Done()
// travail de la deuxième goroutine
}()
wg.Wait() // attend la fin des deux
C’est pratique pour synchroniser des tâches parallèles et éviter que le programme ne se termine prématurément.