Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Live Coding — Concurrent Executor

Задача

Необходимо реализовать функцию:

func Execute(ctx context.Context, workers int, tasks []Task) ([]Result, error)

где

type Result any

type Task func(context.Context) (Result, error)

Требования

Функция должна:

  • выполнять задачи конкурентно;
  • одновременно выполнять не более workers задач;
  • возвращать результаты в том же порядке, что и входной список задач;
  • если любая задача завершилась с ошибкой:
    • отменить выполнение остальных задач;
    • вернуть первую полученную ошибку;
  • корректно завершать все goroutine;
  • не содержать race condition.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages