Junior — Middle
Siz Wait Group nima ekanligini va u dasturlashda nima uchun ishlatilishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Go'da Wait Group sync paketidan bo'lak bo'lib, goroutine guruhining tugashini kutish uchun ishlatiladi. Bu asosiy goroutine (yoki boshqa) boshlagan barcha goroutine'lar tugaguncha bloklanadi.
Asosiy metodlar:
Add(int)— kutayotgan goroutine'lar sonini oshiradi.Done()— sonni kamaytiradi, goroutine tugagach chaqiriladi.Wait()— son nolga teng bo'lguncha bajarilishini to'xtatadi.
Foydalanish misoli:
var wg sync.WaitGroup
wg.Add(2) // 2 ta goroutine kutamiz
go func() {
defer wg.Done()
// birinchi goroutine ishlashi
}()
go func() {
defer wg.Done()
// ikkinchi goroutine ishlashi
}()
wg.Wait() // ikkala goroutine tugashini kutamiz
Bu parallel vazifalarni sinxronlashtirish va dastur erta tugashining oldini olish uchun qulay.