Junior — Middle
Můžete vysvětlit, co je to Wait Group a k čemu se v programování používá?
sobes.tech AI
Odpověď od AI
Wait Group v Go je struktura z balíčku sync, která se používá k čekání na dokončení skupiny gorutin. Umožňuje hlavní gorutině (nebo jiné) zablokovat se, dokud všechny spuštěné gorutiny nedokončí svou práci.
Hlavní metody:
Add(int)— zvyšuje čítač očekávaných gorutin.Done()— snižuje čítač, volá se po dokončení gorutiny.Wait()— blokuje provádění, dokud čítač nedosáhne nuly.
Příklad použití:
var wg sync.WaitGroup
wg.Add(2) // čekáme na 2 gorutiny
go func() {
defer wg.Done()
// práce první gorutiny
}()
go func() {
defer wg.Done()
// práce druhé gorutiny
}()
wg.Wait() // čekáme na dokončení obou
To je užitečné pro synchronizaci paralelních úkolů a zabránění předčasnému ukončení programu.