Sobes.tech
Middle — Senior

Wg.Wait metodining iplarni sinxronlashtirishdagi roli nima?

sobes.tech AI

AIdan javob

Go tilida sync paketidan Wg.Wait() metodi bir nechta goroutine'larni sinxronlashtirish uchun ishlatiladi. U chaqiruvchi goroutine'ning bajarilishini WaitGroup hisoblagichi nolga teng bo'lgunga qadar to'xtatadi, ya'ni Add() orqali qo'shilgan barcha goroutine'lar Done() chaqirganiga qadar.

Misol:

var wg sync.WaitGroup
wg.Add(2)

go func() {
    defer wg.Done()
    // birinchi goroutine ishini bajarish
}()

go func() {
    defer wg.Done()
    // ikkinchi goroutine ishini bajarish
}()

wg.Wait() // Ikkala goroutine tugashini kutamiz

Shu tarzda, Wg.Wait() dastur barcha parallel vazifalar tugaguncha davom etmasligini kafolatlaydi.