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 позволяет главной горутине дождаться завершения всех дочерних.