Middle+
Pastāsti man par WaitGroup Go.
sobes.tech AI
Atbilde no AI
Go valodā sync.WaitGroup tiek izmantots, lai gaidītu, kamēr grupa gorutīnu pabeigs darbu. Tas ir ērts veids, kā sinhronizēt paralēlas uzdevumus.
Galvenās metodes:
Add(int)— palielina gaidāmo gorutīnu skaitu.Done()— samazina skaitītāju, izsauc, kad gorutina pabeidz darbu.Wait()— bloķē izpildi, līdz skaitītājs sasniedz nulli.
Piemērs lietošanai:
var wg sync.WaitGroup
wg.Add(2) // gaidām 2 gorutīnas
go func() {
defer wg.Done()
// pirmās gorutīnas darbs
}()
go func() {
defer wg.Done()
// otras gorutīnas darbs
}()
wg.Wait() // gaidām, kamēr abas pabeigs darbu
Tādējādi WaitGroup palīdz kontrolēt paralēlo operāciju pabeigšanu.