Junior — Middle
Wait Group nədir və proqramlaşdırmada nə üçün istifadə olunur, izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Go'da Wait Group sync paketindən olan bir quruluşdur və goroutine qrupunun tamamlanmasını gözləmək üçün istifadə olunur. Bu, əsas goroutine-in (və ya başqa birinin) bütün başlatılmış goroutine-lər işini bitirənə qədər bloklanmasına imkan verir.
Əsas metodlar:
Add(int)— gözlənilən goroutine-lərin 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()
// ilk goroutine-in işi
}()
go func() {
defer wg.Done()
// ikinci goroutine-in işi
}()
wg.Wait() // hər ikisinin tamamlanmasını gözləyirik
Bu, paralel tapşırıqları sinxronlaşdırmaq və proqramın erkən bitməsinin qarşısını almaq üçün faydalıdır.