Junior — Middle
Wat is de rol en het doel van de WaitGroup-structuur bij ontwikkeling in Go?
sobes.tech AI
Antwoord van AI
In Go wordt de structuur WaitGroup gebruikt om meerdere goroutines te synchroniseren. Het stelt de hoofd-goroutine in staat te wachten tot een groep andere goroutines is voltooid.
Belangrijkste methoden:
- Add(int): verhoogt de teller van verwachte goroutines.
- Done(): verlaagt de teller met 1, wordt aangeroepen bij het voltooien van een goroutine.
- Wait(): blokkeert de uitvoering totdat de teller 0 wordt.
Voorbeeld van gebruik:
var wg sync.WaitGroup
wg.Add(2) // wachten op 2 goroutines
go func() {
defer wg.Done()
// werk van goroutine 1
}()
go func() {
defer wg.Done()
// werk van goroutine 2
}()
wg.Wait() // wachten tot beide goroutines klaar zijn
Op deze manier helpt WaitGroup om de gelijktijdige uitvoering en het wachten op taakvoltooiing correct te beheren.