Middle — Senior
Mi a Wg.Wait módszer szerepe a szálak szinkronizálásában?
sobes.tech MI
Válasz az MI-től
A Wg.Wait() metódus a sync csomagból Go nyelven több goroutine szinkronizálására szolgál. Blokkolja a hívó goroutine végrehajtását, amíg a WaitGroup számlálója el nem éri a nullát, azaz amíg az összes Add()-val hozzáadott goroutine nem hívja meg a Done()-t.
Példa:
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// az első goroutine munkája
}()
go func() {
defer wg.Done()
// a második goroutine munkája
}()
wg.Wait() // Várakozás mindkét goroutine befejezésére
Így a Wg.Wait() garantálja, hogy a program nem folytatódik, amíg minden párhuzamos feladat be nem fejeződik.