|
Мы можем использовать каналы для синхронизации выполнения между goroutine. Вот пример использования блокирующего получения для ожидания завершения goroutine. При ожидании завершения нескольких goroutine лучше использовать WaitGroup. |
|
![]()
|
|
|
|
|
Это функция, которую мы запустим в goroutine. Канал
|
|
|
Отправляем значение, чтобы уведомить о завершении. |
|
|
|
|
Запускаем worker goroutine, передавая ей канал для уведомления. |
|
|
Блокируемся, пока не получим уведомление от worker через канал. |
|
|
|
|
Если убрать строку |
Далее: Направления каналов.