Middle — Senior
Kāda ir Wg.Wait metodes loma pavedienu sinhronizācijā?
sobes.tech AI
Atbilde no AI
Go valodā sync pakotnes Wg.Wait() metode tiek izmantots, lai sinhronizētu vairākas gorutīnas. Tas bloķē izpildi izsaucējas gorutīnas līdz brīdim, kad WaitGroup skaitītājs sasniedz nulli, tas ir, līdz visas Add() pievienotās gorutīnas izsauks Done().
Piemērs:
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// pirmās gorutīnas darbs
}()
go func() {
defer wg.Done()
// otras gorutīnas darbs
}()
wg.Wait() // Gaidām abu gorutīnu pabeigšanu
Tādējādi Wg.Wait() garantē, ka programma nepāries tālāk, kamēr visi paralēlie uzdevumi nav pabeigti.