2015-03-03 2 views
4

Scalaz-streams - молодая, но очень перспективная библиотека для обработки потоков, а RxJava выглядит более зрелой и стабильной.Scalaz Streams vs Rx Java

С моим ограниченным знанием обоим, я вижу в качестве важного отличия поддержку, которую предоставляют потоки scalaz для управления ресурсами.

Какие еще основные отличия?

+0

Пожалуйста, укажите веб-ссылки на обе библиотеки. – JJD

ответ

3

Они оба предлагают управление ресурсами (см модель отписку RxJava в)

Основное различие между ними состоит в том, что scalaz-потоки тянуть на основе и RxJava является толчок основе.

С потоковыми потоками потребители контролируют действие, в производителе, основанном на толчке. С потоками, основанными на потоках, вам придется каким-то образом обрабатывать противодавление (например, 1000 открытых подключений к сети, которые выталкивают данные на ваш сервер), тогда как противодавление на основе потоков не является проблемой, потребитель контролирует действие.

Подробнее о толчке против тянуть в этом разговоре: http://www.youtube.com/watch?v=nCxBEUyIBt0

+0

in * pull based * механизм, откуда вы знаете, что пропустили какие-либо сообщения? – tuxdna

+1

@tuxdna как потребитель, вы никогда не пропускаете никаких сообщений, так как вы тот, кто вытаскивает их из потока –