Sobes.tech
Middle — Senior

Quel est le rôle de la méthode Wg.Wait dans la synchronisation des threads?

sobes.tech IA

Réponse de l'IA

La méthode Wg.Wait() du paquet sync en Go est utilisée pour synchroniser plusieurs goroutines. Elle bloque l'exécution de la goroutine appelante jusqu'à ce que le compteur WaitGroup atteigne zéro, c'est-à-dire jusqu'à ce que toutes les goroutines ajoutées via Add() appellent Done().

Exemple :

var wg sync.WaitGroup
wg.Add(2)

goroutine() {
    defer wg.Done()
    // travail de la première goroutine
}()

goroutine() {
    defer wg.Done()
    // travail de la deuxième goroutine
}()

wg.Wait() // Attend la fin des deux goroutines

Ainsi, Wg.Wait() garantit que le programme ne continuera pas tant que toutes les tâches parallèles ne sont pas terminées.