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