Sobes.tech
Junior — Middle
109

Wait Group дегеніміз не және ол бағдарламалауда не үшін пайдаланылады?

Сұралған компаниялар
Фабрика РешенийФабрика Решений
Betera Group
HyperRus

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() // ждем завершения обеих

Это удобно для синхронизации параллельных задач и предотвращения преждевременного завершения программы.