Comments 6
Параллельное программирование - это когда параллельно программируют.
Паттерн 0 - не используй конкурентность, пока это не стало совершенной необходимостью.
Возможно я что то упустил, но по serve-fixed.go - во первых pending переменная в самом начале не страхует от повторного создания фетча в самом начале - посему проблема остается.
Ветка в которой создается новый фетч никак не предотвращает создания повторного фетча по истечении таймера, возможно так нужно НО, - все фетчи работают паралельно и какой из них завершиться раньше в общем случае не предсказуемо - поэтому в данной реализации подписчик может получить новые обновления, а затем более старые обновления.
Далее ИМХО - лучше использовать переменные типа каналов прямо в case - не разруливать это выше через логический флаг.
Я понимаю что сие не к автору поста, ибо это перевод, но всё же )))
Спасибо за статью. Узнал много полезного.
5 паттернов параллельного программирования в GO, которые сделают ваш следующий проект лучше