Middle+
Vertel me over WaitGroup in Go.
sobes.tech AI
Antwoord van AI
In Go wordt sync.WaitGroup gebruikt om te wachten tot een groep goroutines is voltooid. Het is een handige manier om parallelle taken te synchroniseren.
Belangrijkste methoden:
Add(int)— verhoogt de teller van verwachte goroutines.Done()— verlaagt de teller, wordt aangeroepen wanneer een goroutine klaar is.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
Op deze manier helpt WaitGroup bij het controleren van de voltooiing van parallelle operaties.