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