Sobes.tech
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.