Sobes.tech
Middle+

Parlez-moi de WaitGroup en Go.

sobes.tech IA

Réponse de l'IA

En Go, sync.WaitGroup est utilisé pour attendre la fin d'un groupe de goroutines. C'est une façon pratique de synchroniser des tâches parallèles.

Méthodes principales :

  • Add(int) — augmente le compteur des goroutines à attendre.
  • Done() — diminue le compteur, appelé lorsque une goroutine se termine.
  • 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

Ainsi, WaitGroup aide à contrôler la fin des opérations parallèles.