А может кто-нибудь рассказать в каких типах задач полезны очереди или каналы? Речь об очередях и каналах в памяти, не персистентых.
В тех проектах, что я сталкивался, они не нужны или я не понимаю зачем они там нужны.
Т.е. внутри я всегда использовал синхронные вызовы.
Глобально, очередь это примитив (абстракция) которая выполняет одну функцию: перемещает данные из одной точки в другую асинхронным способом. Она разделяет продьюсера данных и потребителя данных в пространстве и времени. Оба работают независимо, один производит данные и кладёт в очередь, очередь «перемешает» данные, а где-то там когда-то и кто-то данные заберёт