Sobes.tech
Junior — Middle

Чӣ гуна метавон муайян кард, ки ҳама гуруҳҳои кӯдакии дар барномаи Go иҷро шудаанд?

sobes.tech AI

Ҷавоб аз AI

В Go обычно используется синхронизация с помощью типа sync.WaitGroup для определения завершения всех дочерних горутин.

Пример:

var wg sync.WaitGroup

wg.Add(3) // ожидаем 3 горутины

for i := 0; i < 3; i++ {
    go func(id int) {
        defer wg.Done() // сигнализируем о завершении
        // работа горутины
        fmt.Println("Горутина", id, "завершена")
    }(i)
}

wg.Wait() // блокируемся, пока все горутины не вызовут Done
fmt.Println("Все горутины завершены")

Таким образом, WaitGroup позволяет главной горутине дождаться завершения всех дочерних.