【发布时间】:2017-02-09 19:41:10
【问题描述】:
RxJava 中是否有与 RxAndroid 中的 AndroidSchedulers.mainThread() 同义的 Scheduler api。 所以如果我在一个新线程上安排一个任务,我想在 Java 主线程上观察它,我该怎么做呢?
编辑 下面是一个 RxSubscription 示例,带有 system.in 注释,主线程被杀死,而 Observable.interval 在单独的线程上运行。在 Android 中,我可以说 observeOn(AndroidSchedulers.MainThread) 并且此后的任何操作都将在主线程上运行。我正在寻找类似的 Java 调度程序,因为 AndroidScheduler 是 RxAndroid 的一部分。
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import rx.Observable;
public class Main {
public static void main(String[] args) throws InterruptedException, IOException {
Observable<Long> values = Observable.interval(1000, TimeUnit.MILLISECONDS);
values.subscribe(
v -> System.out.println("Received: " + v),
e -> System.out.println("Error: " + e),
() -> System.out.println("Completed")
);
//System.in.read();
}
}
【问题讨论】:
-
知道为什么你需要它会很有趣。由于只有一个主线程,所以选择不多。
-
为什么需要在特定线程上观察一些东西? Android中主线程有特殊意义,你有什么要求?
-
@Ascorbin 编辑问题详细说明
标签: android rx-java rx-android