Rx java 如何在rx java中触发背压
rx java版本:2.1.1Rx java 如何在rx java中触发背压,rx-java,Rx Java,rx java版本:2.1.1 public static void main(String[] args) { Integer[] ints = new Integer[100000]; Arrays.fill(ints, 1); Flowable.fromArray(ints).onBackpressureBuffer(1, () -> { System.out.println("Overflow"); }).subscribe(even
public static void main(String[] args) {
Integer[] ints = new Integer[100000];
Arrays.fill(ints, 1);
Flowable.fromArray(ints).onBackpressureBuffer(1, () -> {
System.out.println("Overflow");
}).subscribe(events -> {
Thread.sleep(1000);
System.out.println(events);
});
}
使用较慢的耗电元件和较小的缓冲区容量,不会触发溢出操作。为什么?我想这是因为您只使用一个线程,如果没有明确指定,运算符通常应用当前线程。在订阅之前,尝试添加
observeOn
和subscribeOn
。。订阅(Schedulers.computation())
或任何其他调度程序都不起作用。使用DefaultSubscriber
而不是消费者订阅也不起作用。