package rx;import io.reactivex.rxjava3.core.Observable;import io.reactivex.rxjava3.core.Observer;import io.reactivex.rxjava3.disposables.Disposable;import io.reactivex.rxjava3.schedulers.Schedulers;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;import java.util.function.Consumer;public class RxJavaUtils {public static void main(String[] args) throws InterruptedException {// intervalRange();// intervalRange2();intervalRange3();}private static void intervalRange3() {}/*** 不输出** @throws InterruptedException*/private static void intervalRange() throws InterruptedException {Observable.intervalRange(0, 10, 0, 1, TimeUnit.MILLISECONDS).subscribeOn(Schedulers.io()) // 指定在IO线程执行.observeOn(Schedulers.single()) // 指定在单一线程观察.subscribe(new Observer<Long>() {@Overridepublic void onSubscribe(Disposable d) {// Called when the Observer subscribes to the ObservableSystem.out.println("Subscribed");}@Overridepublic void onNext(Long value) {// Called when a new value is emittedSystem.out.println("intervalRange1: " + value);}@Overridepublic void onError(Throwable e) {// Called when an error occursSystem.out.println("Error: " + e.getMessage());}@Overridepublic void onComplete() {// Called when the Observable completes emitting all valuesSystem.out.println("Completed");}});// Thread.sleep(1000);}public static void intervalRange2() throws InterruptedException {System.out.println("intervalRange2:");// 使用CountDownLatch等待Observable完成CountDownLatch latch = new CountDownLatch(1);Observable.intervalRange(0, 5, 0, 100, TimeUnit.MILLISECONDS).subscribeOn(Schedulers.io()) // 指定在IO线程执行.observeOn(Schedulers.single()) // 指定在单一线程观察.subscribe(new Observer<Long>() {@Overridepublic void onSubscribe(Disposable d) {// Called when the Observer subscribes to the ObservableSystem.out.println("Subscribed");}@Overridepublic void onNext(Long value) {// Called when a new value is emittedSystem.out.println("intervalRange2: " + value);}@Overridepublic void onError(Throwable e) {// Called when an error occursSystem.out.println("Error: " + e.getMessage());latch.countDown();}@Overridepublic void onComplete() {// Called when the Observable completes emitting all valuesSystem.out.println("Completed");latch.countDown();}});// 等待Observable完成// latch.await(1, TimeUnit.SECONDS);}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。