RxJava 理解:背压

RxJava GitHub 描述:

当数据流通过异步发送,每一步用不同的速度发布不同的东西。为了避免压垮某一步,经常需要增加 buffer 或是筛选、丢弃数据,这就是背压,一种控制数据流的形式,让下游可以表达自己可接受的数量。这可以限制数据流的内存使用。
在 RxJava 中,Flowable 支持背压, Observable 不支持背压。

知乎上的问答:

Backpressure 指的是在 Buffer 有上限的系统中,Buffer 溢出的现象;它的应对措施只有一个:丢弃新事件。

总结:

  • 背压是一种现象,即 buffer 溢出。

  • 在 RxJava 中,Flowable 支持背压的处理, Observable 不支持背压的处理。

  • Flowable 如何处理:

    在下游表达过自己的限度后(Subscription.request),上游才能开始发布。这样就不会溢出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值