#java #rxjava
Суть проблемы такова: у меня есть Observable и Subscriber. Observable я пытаюсь запустить
в io() потоке, так как он работает с файлами (не буду показывать код, он довольно большой,
но не имеет значения), однако он ничего не делает:
Observable creatingObservable = getCreatingObservable(image);
Subscriber creatingSubscriber = getCreatingSubscriber();
creatingObservable
.subscribeOn(Schedulers.io())
.subscribe(creatingSubscriber);
Если запускать код без subscribeOn - все прекрасно работает. Так в чем же проблема
и как ее исправить?
P.S. У меня еще System.out.println() не работает. Проблема распространяется на все
потоки Scheduler'a.
Ответы
Ответ 1
Проблема была в том, что главный поток не дожидался окончания окончания выполнения RxJava'вского потока. В результате, RxJava даже не успевал "пискнуть" - от сюда никаких сообщений из System.out.println() и работы с файлами. Решение подсказали тут - https://stackoverflow.com/questions/37993371/rxjava-doesnt-work-in-scheduler-io-thread
Комментариев нет:
Отправить комментарий