другом - нет. Это как-то связано с задачей?
Это моя реализация, и мне так удобнее убивать горутины. А в реализации без контекста, я не контролиру писателя (напрямую, только косвенно), значит должен удостовериться что писатель не пишет и тогда закрыть канал чтоб убить горутины.
вы привели код с контекстом для читателя, как он связан с тем как вы контролируете писателя?
Никак. У писателя (библиотеки) есть метод Usubscribe. И если все хорошо и тд и ТП он должен прекратить гнать данные
зачем тогда контекст?
Убить горутину
закройте канал
Канал должен закрывать писатель.
мы уже выяснили что он этого не делает
Ну так при вызове ансаб закрывайте канал
Вот эти задачи я и решаю))
Ну а начальник-то что говорит на тему закрытия канала? Как он решать будет? Ну а что касается сугубо рационального подхода, то Вы правы. Как говорится, монопенисуально. Вот пример: https://godbolt.org/z/r8aoTMYjj В обоих вариантах вызывается одна и та же функция runtime.chanrecv2(). Обрабатывается чуть по разному, понятное дело, for и select разные словечки, но сути не меняет.
Начальник не решает, он говорит что должен сделать я)) "Теперь это моя проблема"
Ну короче ответ на вопрос про сравнивание for и `select`кинул, одно и тоже. Что касается закрытия, всяких там паник и т.д. - это другой вопрос.
Вот и я про тож. Ответ Я получил и теперь продолжаю
Обсуждают сегодня