Middle — Senior
Каква е ролята на метода Wg.Wait в синхронизацията на нишки?
sobes.tech AI
Отговор от AI
Методът Wg.Wait() от пакета sync в Go се използва за синхронизиране на няколко горутини. Той блокира изпълнението на извикващата горутина, докато броячът WaitGroup не стане равен на нула, тоест докато всички горутини, добавени чрез Add(), не извикат Done().
Пример:
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// работа на първата горутина
}()
go func() {
defer wg.Done()
// работа на втората горутина
}()
wg.Wait() // Изчакваме и двете горутини да завършат
По този начин, Wg.Wait() гарантира, че програмата няма да продължи, докато всички паралелни задачи не приключат.