RxJavaにRxAndroidのAndroidSchedulers.mainThread()と同義のScheduler APIがありますか? 新しいスレッドでタスクをスケジュールして、それをJavaのメインスレッドで観察したいのですが、どうすればいいですか?RxJavaのAndroidSchedulers.mainThread()の代替手段は何ですか?
編集以下 は例RxSubscriptionあるsystem.inはコメントしてObservable.intervalは別のスレッドで実行中に、メインスレッドが殺されています。 Androidでは、observeOn(AndroidSchedulers.MainThread)と言うことができ、その後の操作はメインスレッドで実行されます。私はAndroidSchedulersがRxAndroidの一部であるので、Javaで同様のスケジューラーを探しています。
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();
}
}
*なぜ*あなたがそれを必要とするのか興味深いですか?メインスレッドは1つだけなので、多くのオプションはありません。 – FWeigl
特定のスレッドで何かを観察する必要があるのはなぜですか? Androidのメインスレッドは特別な意味を持ちますが、あなたの要件は何ですか? –
@Ascorbinは編集した質問を精巧にする –