Решение на Concurrent Tasks от Радостина Димова
Към профила на Радостина Димова
Резултати
- 13 точки от тестове
- 0 бонус точки
- 13 точки общо
- 13 успешни тест(а)
- 0 неуспешни тест(а)
Код
Лог от изпълнението
PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.103s PASS ok _/tmp/d20161129-30451-qgnta9 0.203s PASS ok _/tmp/d20161129-30451-qgnta9 0.136s PASS ok _/tmp/d20161129-30451-qgnta9 0.203s PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.003s PASS ok _/tmp/d20161129-30451-qgnta9 0.055s PASS ok _/tmp/d20161129-30451-qgnta9 0.053s PASS ok _/tmp/d20161129-30451-qgnta9 0.124s
История (5 версии и 8 коментара)
Радостина обнови решението на 26.11.2016 13:19 (преди над 1 година)
Имайки предвид, че при функции с произволен брой аргументи реално получаваш директно slice, в случая можеш директно да си присвоиш tasks
, няма нужда да циклиш по него. И при долните "конструктори" също.
Какво ще стане с всичките останали горутини, след като резултатът от най-бързата бъде върнат?
Ако все пак функцията е бавна и се стигне до timeout-а, какво ще стане с тази горутина?
Този цикъл реално трябва ли? Също така, малко по-горе в края на горутините, след като първата прати нещо по finish канала, останалите ще приключат ли?
Радостина обнови решението на 27.11.2016 10:09 (преди над 1 година)
Няма ли да си завършат всички и само първата стигнала до once.Do(func() { ... ще пише по канала?
Преди да пише по финиш нали wait-вам? Но ако някоя фейлне другите ще забият
Радостина обнови решението на 27.11.2016 11:11 (преди над 1 година)
Ох, да, извинявай, това once
съм го проспал, всичко си е наред...
Хвърли едно око какво ще стане ако грешките при GreatestSearcher
са по-малко от errorLimit
, но въпреки това нито една задача не е завършила успешно
Какво ще стане с всичките останали горутини, след като резултатът от най-бързата бъде върнат?
Няма ли да си завършат всички и само първата стигнала до once.Do(func() { ... ще пише по канала?
Ох, да, извинявай, това
once
съм го проспал, всичко си е наред...Ако все пак функцията е бавна и се стигне до timeout-а, какво ще стане с тази горутина?