RxJava 1.0版本入门篇之--4
程序员文章站
2023-12-23 20:45:21
...
ObserveOn指定观察者所在线程
Observable
.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
//main
Log.i(TAG, "call: "+Thread.currentThread().getName());
subscriber.onNext("Hello Android !");
}
})
.observeOn(Schedulers.io())//设置观察者运行所在的线程
.subscribe(new Action1<String>() {
@Override
public void call(String s) {
//RxIoScheduler-2
Log.i(TAG, "subscribe call: "+Thread.currentThread().getName());
Log.i(TAG, "subscribe call: "+s);
}
});
上面的代码中Schedulers.io()指定了子线程的类型。除此之外还有很多起来的线程类型。如下表:
SubscribeOn指定被观察者所在线程
//subscribeOn让观察者与被观察者运行在特定子线程中
//Schedulers.computation()和Schedulers.io()都是运行在子线程中
//mainThread android的UI线程
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
Log.v("haha",Thread.currentThread().getName());
subscriber.onNext("Observable");
}
})//.observeOn(Schedulers.io())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())//运行在主线程中
.subscribe(new Action1<String>() {
@Override
public void call(String s) {
Log.v("haha",Thread.currentThread().getName());
Log.v("haha",s);
}
});
推荐阅读
-
RxJava 1.0版本入门篇之--4
-
HttpClient 之 4.x.x版本以上的发送Https请求
-
java工具类之公式计算器【版本1.0】
-
Linux内核 ——进程管理之进程诞生(基于版本4.x)
-
版本控制git之五-标签管理 tags 标签 代码版本 如: v1.0
-
[4]PHP开发环境搭配之修改php版本
-
Oracle Enterprise Linux R4U8版本下安装RAC的准备工作之oracleasmlib
-
光之翼java通用代码生成器2.2.0 Beta4 智慧光之翼版本公布。 光之翼java代码生成器前端后端
-
Linux内核——进程管理之CFS调度器(基于版本4.x)
-
同时安装PyQt4和PyQt5之sip版本区分