Junior — Middle
Puoi spiegare cos'è un Wait Group e a cosa serve nella programmazione?
sobes.tech AI
Risposta dell'AI
Wait Group in Go è una struttura del pacchetto sync che viene usata per aspettare che un gruppo di goroutine finisca. Permette alla goroutine principale (o un'altra) di bloccarsi finché tutte le goroutine avviate non terminano il loro lavoro.
Metodi principali:
Add(int)— aumenta il contatore delle goroutine attese.Done()— diminuisce il contatore, chiamato al termine di una goroutine.Wait()— blocca l'esecuzione finché il contatore non diventa zero.
Esempio di utilizzo:
var wg sync.WaitGroup
wg.Add(2) // aspettiamo 2 goroutine
go func() {
defer wg.Done()
// lavoro della prima goroutine
}()
go func() {
defer wg.Done()
// lavoro della seconda goroutine
}()
wg.Wait() // aspettiamo che entrambe finiscano
Questo è utile per sincronizzare compiti paralleli ed evitare che il programma termini prematuramente.