Middle — Senior
Ի՞նչ է Wg.Wait մեթոդի դերը թելերի սինխրոնիզացիայում։
sobes.tech AI
Պատասխան AI-ից
Go լեզվի sync փաթեթից Wg.Wait() մեթոդը օգտագործվում է մի քանի goroutine-ների սինխրոնիզացման համար: Այն խանգարում է կանչող goroutine-ի կատարմանը մինչև WaitGroup հաշվիչը չհասնի զրոյի, այսինքն՝ մինչև բոլոր Add()-ով ավելացված goroutine-ները չկոչեն Done():
Օրինակ՝
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// առաջին goroutine-ի աշխատանքը
}()
go func() {
defer wg.Done()
// երկրորդ goroutine-ի աշխատանքը
}()
wg.Wait() // Կանխատեսում ենք երկու goroutine-ների ավարտը
Այսպիսով, Wg.Wait() երաշխավորում է, որ ծրագիրը չի շարունակվի մինչև բոլոր հոսքերը ավարտվեն։