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.