Junior — Middle
Tudnád magyarázni, hogy mi az a Wait Group és mire használják a programozásban?
sobes.tech MI
Válasz az MI-től
A Wait Group a Go nyelvben a sync csomagból származó szerkezet, amelyet egy goroutine csoport befejezésének várására használnak. Lehetővé teszi, hogy a fő goroutine (vagy más) blokkoljon, amíg az összes indított goroutine be nem fejezi a munkát.
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ó el nem éri a nullát.
Használati példa:
var wg sync.WaitGroup
wg.Add(2) // 2 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
Ez hasznos a párhuzamos feladatok szinkronizálására és a program korai befejezésének megakadályozására.