• Задача
  • Решение
  • Обсуждение

RunAll: дождаться всех функций

Пакет файлов обработан, только когда готовы все. Реализуйте runAll(fs []func()): запустите все функции конкурентно и дождитесь каждой через sync.WaitGroup (Add до go, Done через defer).

GolangРешение
func runAll(fs []func()) {
	var wg sync.WaitGroup
	for _, f := range fs {
		wg.Add(1)
		go func(f func()) {
			defer wg.Done()
			f()
		}(f)
	}
	wg.Wait()
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки