Читая многочисленные статьи по теме реактивных потоков, читатель может прийти к выводу, что:
В этой статье я попытаюсь показать, что:
- backpressure это круто
- backpressure доступно только в библиотеках, реализующих спецификацию reactive streams
- эта спецификация настолько сложна, что не стоит и пытаться ее реализовать самому
В этой статье я попытаюсь показать, что:
- backpressure — это очень просто
- для реализации асинхронного backpressure достаточно сделать асинхронный вариант семафора
- при наличии реализации асинхронного семафора, интерфейс org.reactivestreams.Publisher реализуется в несколько десятков строк кода