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.