Middle+
Go'dagi WaitGroup haqida gapirib bering.
sobes.tech AI
AIdan javob
Go tilida, sync.WaitGroup bir guruh goroutine'larning yakunlanishini kutish uchun ishlatiladi. Bu parallel vazifalarni sinxronlashtirishning qulay usulidir.
Asosiy metodlar:
Add(int)— kutayotgan goroutine'lar sonini oshiradi.Done()— sonni kamaytiradi, goroutine tugaganda chaqiriladi.Wait()— son nolga teng bo'lguncha bajarilishni to'xtatadi.
Foydalanish misoli:
var wg sync.WaitGroup
wg.Add(2) // 2 ta goroutine kutamiz
go func() {
defer wg.Done()
// birinchi goroutine ishlari
}()
go func() {
defer wg.Done()
// ikkinchi goroutine ishlari
}()
wg.Wait() // ikkala goroutine tugashini kutamiz
Shu tarzda, WaitGroup parallel operatsiyalarni nazorat qilishga yordam beradi.