Je souhaite que le code observable s'exécute sur un thread différent du thread principal. Comment puis-je faire cela, je fais comme ceci:RxJava: Comment rendre observable à créer sur un thread différent du thread principal
Observable operationObservable = Observable.create(new ObservableOnSubscribe() {
@Override
public void subscribe(ObservableEmitter e) throws Exception {
e.onNext(longRunningOperation());
e.onComplete();
}
})
.subscribeOn(Schedulers.io()) // subscribeOn the I/O thread
.observeOn(AndroidSchedulers.mainThread());
Eh bien, essayez d'utiliser un autre thread dans 'observeOn'? –
Vous pouvez demander à 'Observable' d'envoyer ses notifications aux observateurs sur un planificateur particulier au moyen de l'opérateur' ObserveOn'. par cela vous pouvez utiliser votre 'Scheduler' ou classe qui implémente' Scheduler' pour observer – Kathi
Votre exemple fait exactement cela. 'subscribeOn' s'assurera que le corps de' ObservableOnSubscribe.subscribe' est en cours d'exécution dans l'un des threads IO du planificateur IO. – akarnokd