我使用Retrofit2
与Rxjava
进行API调用。我必须进行多个API调用(相同的API),让我们说100个。现在我想要,最多5个并行执行。因此,如果正在进行5次API调用,则应该等待第6次调用。一旦正在进行的5个呼叫中的任何一个完成,第6个呼叫应该开始。我不希望在前5个完成时,只有在接下来的5个发生之后,大部分都需要这个。
我不确定如何通过Rxjava
实现这一点,以及为什么我没有任何代码片段可以发布。任何帮助都会很棒
答案 0 :(得分:1)
RxJava有某些操作符可以限制操作中的线程数。
observable
.flatMap( input -> apiCallReturningObservable( input ), 5 )
.subscribe();
一次最多可以调用apiCallReturningObservable()
次。{/ p>