RxJava拉动闲置

时间:2019-01-29 21:34:46

标签: rx-java2

说我有这个代码:

Flowable.generate(e -> {
   e.onNext(1);
   TimeUnit.SECONDS.sleep(2);
})
   .onBackpressureBuffer()
   .window(5)
   .observeOn(Schedulers.single())
   .subscribe(this::consumer);

这会将事件以5为一组进行推送,每10秒我将得到5个元素的组(因为消费者需要2s的时间来生产商品)。

有没有办法代替5人一组?所不同的是,如果消费者足够快地处理组,则它不应该等待组填充。如果消费者花1秒钟来处理商品,则应一一处理。如果要花3秒钟来处理这些项目,那么它将得到1、2,...,5的递增列表,然后将其上限设置为5,因为这是最大窗口。

0 个答案:

没有答案