@lacredin
Программист

Как в RxJava асинхронно выполнять намерения?

Здравствуйте!
Я впервые использую rxjava и прочитав о
subscribeOn(Schedulers.newThread())
observeOn(Schedulers.newThread())
Я понадеялся, что смогу сделать вот такую штуку:
Subject<DataObservable> commandToService.subscribeOn(Schedulers.newThread()).observeOn(Schedulers.newThread()).subscribe(observer);
//слушатель
private Observer<DataObservable> observer = new Observer<DataObservable>() {
        @Override
        public void onNext(DataObservable o) {
              //какая-то долгая операция
        }
    };

private void postCommand(DataObservable command){
        commandToService.onNext(command);
}

Я хотел, чтобы из разных частей программы, вызывался postCommand, а observer выполнял различные долгие операции. Но оказалось, что намерения, создаваемые postCommand выполняются синхронно, то есть пока не завершится одно намерение, новое не стартует, вопреки моему ожиданию.
Подскажите, можно ли заставить rxjava запускать намерения параллельно или мне придётся в observer.onNext создавать новые потоки самостоятельно?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы