Middle+
Goдагы WaitGroup жөнүндө айтып бер.
sobes.tech AI
AIден жооп
Go тилинде, sync.WaitGroup бир топ goroutine'лордун аяктоо күтүлүү үчүн колдонулат. Бул параллелдик тапшырмаларды синхрондоштуруу үчүн ыңгайлуу жол.
Негизги ыкмалары:
Add(int)— күтүлүүчү goroutine'лордун санын көбөйтөт.Done()— санды азайтат, goroutine аяктагандан кийин чакырылат.Wait()— сан нөлгө жеткенче ишти токтотот.
Колдонуу мисалы:
var wg sync.WaitGroup
wg.Add(2) // 2 goroutine күтүлүүдө
go func() {
defer wg.Done()
// биринчи goroutine иши
}()
go func() {
defer wg.Done()
// экинчи goroutine иши
}()
wg.Wait() // экиси да аяктагандан кийин күтөт
Мындайча айтканда, WaitGroup параллелдик операциялардын аяктоо процессин көзөмөлдөөгө жардам берет.