私がやりたかったのは、ストリームから生成された最新のアイテムを保持する 1 つのアイテムの背圧バッファーを持つ Flowable を用意することです。
Flowable.onBackpressureBuffer(1, () -> {}, BackpressureOverflowStrategy.DROP_OLDEST) を使用しようとしました。しかし、それは私が期待したように動作しません
Flowable.range(0, 10_000)
.onBackpressureBuffer(1, {}, BackpressureOverflowStrategy.DROP_OLDEST)
.observeOn(Schedulers.computation())
.subscribe {
println(it)
Thread.sleep(5)
}
私が予想した出力は、最後の項目 9,999 を含む整数のシーケンスであり、連続している必要はありません。ただし、0、1、2、3、4 ... などの最初のいくつかの連続した数字のみが印刷され、毎回異なりますが、最後の数字 9,999 は印刷されません。