В чем отличие обычных Java streams от стримов Reactor\WebFlux?
Пытаюсь разобраться в реактивном программировании. В сети много материалов, но какие-то ниточки к полному пониманию от меня ускользают, поэтому решил задать вопрос тут. Собственно Java-стримы, которые появились в 8 версии это по сути как струя воды из под крана, только в нашем случае это течение каких-то данных, которые мы можем преобразовать(фильтрация и тд). В стримах можно задействовать многопоточность(parallelStream) и тогда данные будут "течь" в стримах в нескольких потоках, что позволит быстрее их преобразовать.
Но вот, что такое реактивный стрим? В книгах и сети его сравнивают с конвейером сборки. То есть данные идут по конвейеру и "сборщики"(реактивные методы-операторы) с ними что-то делают. И это похоже на обычные стримы, где мы также колдуем с данными. Не совсем понятно также является ли реактивный поток Mono\Flux многопоточным, или это все один поток.
Чем отличается реактивный стрим от обычного и какую пользу даст его использование?