-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HW5 is completed #5
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Спасибо за вариант решения. Хорошая работа
Итого: 9 баллов из 10. Принято
hw05_parallel_execution/run.go
Outdated
for workerCount.Load() >= workerMaxCount { | ||
time.Sleep(time.Millisecond * 10) | ||
} | ||
|
||
if errCount.Load() >= errMaxCount { // если кол-во ошибок больше допустимого | ||
// прекращаем запускать воркеры | ||
break | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Оптимальнее и надёжнее будет запустить в работу на постоянной основе n
горутин-воркеров и передавать им в работу задачи на выполнение через канал
Сейчас на каждую задачу запускается и не переиспользуется горутина. Кроме того, приходится контролировать количество воркеров
hw05_parallel_execution/run.go
Outdated
case <-errorCh: | ||
errCount++ | ||
if errCount >= m { | ||
return ErrErrorsLimitExceeded | ||
} | ||
case tasksCh <- tasks[i]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Подсчёт ошибок лучше вынести из цикла по задачам.
Домашнее задание №5 «Параллельное исполнение»
Чек-лист студента (Что это?)
go mod tidy
..sync
файл. Зачем его удалять?Критерии оценки
Зачёт от 7 баллов