Xuất phát từ C#, khi tôi sử dụng RX và có ấn tượng, các mục liên tục sẽ được thêm vào hàng đợi nội bộ cho đến khi ứng dụng hết bộ nhớ (theo như tôi có thể gọi lại).Tránh thiếu các trường hợp ngoại lệ ngoại lệ
Trong ReactiveX (RXJava), có vẻ như chúng đã thực hiện một lập trường khác bằng cách ném ngoại lệ khi áp suất nén bắt đầu xây dựng.
Điều này có nghĩa là tôi phải sử dụng một cái gì đó như onBackpressureBuffer()
và trong cuộc gọi đến subscribe()
chuyển vào số Subscriber<? super T>
làm cho yêu cầu tăng luồng để giải phóng áp lực.
Có thể bởi vì tôi đã sử dụng phương pháp RX.NET cho điều này, nhưng dường như nó có ý nghĩa với tôi.
Thứ nhất, tôi đã hiểu chính xác điều này chưa?
Thứ hai, có anyway tôi có thể "vô hiệu hóa" tính năng này, để nó hoạt động trong cùng một cách như RX.NET như tôi không muốn phức tạp cuộc gọi của tôi subscribe()
bằng cách kiểm tra xem tôi đã thực hiện một trong những nhà khai thác áp lực này để xem liệu tôi có phải gọi số request()
hay không.
Bạn đã đọc các RxJava [wiki trên backpressure] (https://github.com/ReactiveX/RxJava/wiki/Backpressure)? Cụ thể là phần cuối cùng mà nó mô tả các toán tử 'onBackpressureBuffer' và' onBackpressDrop'? –
Đúng - đó là nơi tôi nhận được thông tin của mình. – Cheetah