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(events -> {
Thread.sleep(1000);
System.out.println(events);
});
}一个缓慢的消费者和一个相当小的缓冲区容量不会在溢出中触发操作。为什么?
发布于 2017-07-10 18:36:31
我认为这是因为你只使用了一个线程,如果没有明确指定,操作符通常会应用当前线程。尝试在订阅之前添加observeOn和subscribeOn。
https://stackoverflow.com/questions/45009513
复制相似问题