Junior — Middle
Kun je uitleggen wat een Wait Group is en waar het voor wordt gebruikt in programmeren?
sobes.tech AI
Antwoord van AI
Wait Group in Go is een structuur uit het sync pakket die wordt gebruikt om te wachten tot een groep goroutines klaar is. Het stelt de hoofd-goroutine (of een andere) in staat om te blokkeren totdat alle gestartte goroutines hun werk hebben voltooid.
Belangrijkste methoden:
Add(int)— verhoogt de teller van verwachte goroutines.Done()— verlaagt de teller, wordt aangeroepen bij het voltooien van een goroutine.Wait()— blokkeert de uitvoering totdat de teller nul is.
Voorbeeld van gebruik:
var wg sync.WaitGroup
wg.Add(2) // wachten op 2 goroutines
go func() {
defer wg.Done()
// werk van de eerste goroutine
}()
go func() {
defer wg.Done()
// werk van de tweede goroutine
}()
wg.Wait() // wachten tot beide klaar zijn
Dit is handig voor het synchroniseren van parallelle taken en het voorkomen dat het programma voortijdig eindigt.