Sobes.tech
Middle+

Go-da WaitGroup haqqında danış.

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, sync.WaitGroup bir qrup goroutine-in tamamlanmasını gözləmək üçün istifadə olunur. Bu, paralel tapşırıqları sinxronlaşdırmanın rahat bir yoludur.

Əsas metodlar:

  • Add(int) — gözlənilən goroutine sayını artırır.
  • Done() — sayını azaldır, goroutine tamamlandıqda çağırılır.
  • Wait() — sayıcı sıfır olana qədər icraatı bloklayır.

İstifadə nümunəsi:

var wg sync.WaitGroup

wg.Add(2) // 2 goroutine gözləyirik

go func() {
    defer wg.Done()
    // birinci goroutine-in işi
}()

go func() {
    defer wg.Done()
    // ikinci goroutine-in işi
}()

wg.Wait() // hər ikisinin tamamlanmasını gözləyirik

Beləliklə, WaitGroup paralel əməliyyatların tamamlanmasını idarə etməyə kömək edir.