Middle+
Mesélj a WaitGroup-ról a Go-ban.
sobes.tech MI
Válasz az MI-től
Go nyelven a sync.WaitGroup arra szolgál, hogy várjon egy goroutine-csoport befejezésére. Ez kényelmes módja a párhuzamos feladatok szinkronizálásának.
Főbb módszerek:
Add(int)— növeli a várt goroutine-ok számát.Done()— csökkenti a számlálót, amikor egy goroutine befejeződik.Wait()— blokkolja a végrehajtást, amíg a számláló nem lesz nulla.
Használati példa:
var wg sync.WaitGroup
wg.Add(2) // két goroutine-t várunk
go func() {
defer wg.Done()
// az első goroutine munkája
}()
go func() {
defer wg.Done()
// a második goroutine munkája
}()
wg.Wait() // várunk mindkettő befejezésére
Így a WaitGroup segít ellenőrizni a párhuzamos műveletek befejezését.