Как реализовать producer-consumer?

Middle
335 просмотров
AFK Offer AI

Классика Go concurrency. Producer пишет в канал, consumer читает. Один канал, горутины по обе стороны. Buffered channel — буфер между ними, producer не блокируется пока буфер не полон. Несколько producers — все пишут в один канал. Несколько consumers — все читают из одного (fan-out). Закрытие: когда все producers закончили — close(ch), consumers выйдут из range. WaitGroup для ожидания producers. Простой и мощный паттерн, покрывает 80% задач.

Следующий вопрос

Задача: удалите дубликаты из отсортированного массива in-place