И снова здравствуй. Какое-то время назад я писал о другом малоизвестном инструменте для любителей высокой производительности — System.IO.Pipelines. По своей сути, рассматриваемый System.Threading.Channels (в дальнейшем «каналы») построен по похожим принципам, что и Пайплайны, решает ту же задачу — Производитель-Потребитель. Однако имеет в разы более простое апи, которое изящно вольется в любого рода enterprise-код. При этом использует асинхронность без аллокаций и без stack-dive даже в асинхронном случае! (Не всегда, но часто).
![](https://habrastorage.org/webt/ki/mn/r6/kimnr6rnyhm7ahhmlml-3lcj1ew.jpeg)
![](https://habrastorage.org/webt/ki/mn/r6/kimnr6rnyhm7ahhmlml-3lcj1ew.jpeg)