Back to questions
Фабрика Решений
Junior — Middle
89
Можете ли объяснить, что такое Wait Group и для чего она используется в программировании?
Companies where asked
Betera Group
HyperRus
Answer from AI
sobes.tech AI
Wait Group в Go — это структура из пакета sync, которая используется для ожидания завершения группы горутин. Она позволяет главной горутине (или другой) блокироваться до тех пор, пока все запущенные горутины не закончат свою работу.
Основные методы:
Add(int)— увеличивает счетчик ожидаемых горутин.Done()— уменьшает счетчик, вызывается по завершении горутины.Wait()— блокирует выполнение до тех пор, пока счетчик не станет нулём.
Пример использования:
var wg sync.WaitGroup
wg.Add(2) // ожидаем 2 горутины
go func() {
defer wg.Done()
// работа первой горутины
}()
go func() {
defer wg.Done()
// работа второй горутины
}()
wg.Wait() // ждем завершения обеих
Это удобно для синхронизации параллельных задач и предотвращения преждевременного завершения программы.