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