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.