Junior — Middle
Роли ва мақсади сохтори WaitGroup дар таҳияи Go чӣ гуна аст?
sobes.tech AI
Ҷавоб аз AI
Дар Go, структурата WaitGroup се използва за синхронизиране на няколко горутини. Тя позволява на основната горутина да чака завършването на група други горутини.
Основни методи:
- Add(int): увеличава броя на очакваните горутини.
- Done(): намалява броя с 1, извиква се при завършване на горутина.
- Wait(): блокира изпълнението, докато броячът не стане 0.
Пример за използване:
var wg sync.WaitGroup
wg.Add(2) // очакваме 2 горутини
go func() {
defer wg.Done()
// работа на горутината 1
}()
go func() {
defer wg.Done()
// работа на горутината 2
}()
wg.Wait() // чакаме да завършат и двете горутини
Така, WaitGroup помага за правилното управление на паралелното изпълнение и очакването за завършване на задачите.