Что такое wait group?
Ответ
sync.WaitGroup - это реализация счетчика, который можно инкрементировать и декрементировать, и самое главное остановить выполнение куска кода до того момента, пока значение счетчика не будет равно 0.
Вывод
@golang_interview
Ответ
sync.WaitGroup - это реализация счетчика, который можно инкрементировать и декрементировать, и самое главное остановить выполнение куска кода до того момента, пока значение счетчика не будет равно 0.
func main() {
wg := sync.WaitGroup{}
wg.Add(1)
go gorutinePrint(&wg)
wg.Wait()
fmt.Println("hello from main")
}
func gorutinePrint(wg *sync.WaitGroup) {
// без использования WaitGroup нет гарантий, что будет выведено
fmt.Println("hello from goroutine")
wg.Done()
}
Вывод
hello from goroutine
hello from main
@golang_interview