Pull to refresh

Comments 5

А кто пишет в канал done? Его читают как в горутинах(подзадачах) так и из кода контролирующего запуска горутин...

Нашел ответ в ссылке внутри статьи. Было бы, здорово, для полноты и автономности примеров код, все так и показать в примерах кода, что происходит с done извне.

P. S. Это вкусовщина

Да, согласен. Наверное лучший вариант ссылку на полный на код в gitlab добавить

"... но у нас нет канала обратной связи для управления запущенными горутинами. Как минимум нужен канал done"
- если имеется ввиду эта фразу, то про запись в done речь не шла: для остановки горутины достаточно закрыть канал done и все горутины, в которые done был передан смогут прослушать сигнал. Канал done действительно может прослушиваться родительской горутиной, но также может быть создан в родительской горутине и передан в дочерние для управления их работой(для из завершения).

Я привык использовать conc от sourcegraph - он умеет так же паники перехватывать, чтобы не городить у себя везде конструкции на всякий. И немного других фич, которые идут в комплекте с пулами воркеров. Но в целом да, можно обойтись и стандартной библиотекой, написав свои обертки.

Sign up to leave a comment.

Articles