gpt4 book ai didi

rx-java - 速率限制 observables

转载 作者:行者123 更新时间:2023-12-04 08:34:37 29 4
gpt4 key购买 nike

我有一个可观察的对象,它从数据库游标的快速流中生成数据。我希望以每秒 x 个项目的速度限制输出。到目前为止,我一直在使用文档中描述的 Callstack 阻塞:

observable.map(f -> {
ratelimiter.acquire(); // configured limiter to only allow
});

这工作正常,但出于好奇,是否有更好的方法使用背压来处理此问题?

塔克斯

最佳答案

使用 sample (throttleLast) 运算符:

Observable<T> throttled = 
observable.sample(1 / rate, TimeUnit.MILLISECONDS);

http://reactivex.io/documentation/operators/sample.html

https://github.com/ReactiveX/RxJava/wiki/Backpressure

关于rx-java - 速率限制 observables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932825/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com