Middle+
Pověz mi o WaitGroup v Go.
sobes.tech AI
Odpověď od AI
V jazyce Go se sync.WaitGroup používá k tomu, aby se čekalo na dokončení skupiny gorutin. Je to pohodlný způsob, jak synchronizovat paralelní úkoly.
Hlavní metody:
Add(int)— zvyšuje čítač očekávaných gorutin.Done()— snižuje čítač, volá se, když gorutina skončí.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
Tímto způsobem WaitGroup pomáhá kontrolovat dokončení paralelních operací.