Sobes.tech
Middle — Senior

Wg.Wait მეთოდის როლი თხევადების სინქრონიზაციაში რა არის?

sobes.tech AI

პასუხი AI-სგან

Go dilində sync paketindən Wg.Wait() metodu bir neçə goroutine-i sinxronlaşdırmaq üçün istifadə olunur. Bu metod çağıran goroutine-in icrasını WaitGroup sayğacı sıfıra çatana qədər bloklayır, yəni Add() vasitəsilə əlavə olunan bütün goroutine-lər Done() çağırana qədər.

Nümunə:

var wg sync.WaitGroup
wg.Add(2)

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

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

wg.Wait() // Hər iki goroutine-in tamamlanmasını gözləyirik

Beləliklə, Wg.Wait() proqramın bütün paralel tapşırıqlar tamamlanana qədər davam etməsini təmin edir.