Блок create выполнится на UI-потоке. Обработчик subscribe в данном примере вообще не вызовется, потому что источник не отправляет ни одного onNext.
Определение потока выполнения при использовании observeOn в RxJava
Блок create выполнится на UI-потоке. Обработчик subscribe в данном примере вообще не вызовется, потому что источник не отправляет ни одного onNext.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Нужно установить, в каком потоке будет выполнен оператор create и обработчик подписки, когда код запускается из главного (UI) потока.
Observable.create<Int> { }
.observeOn(Schedulers.computation())
.subscribe { }
Ответ
Блок create выполнится на UI-потоке. Обработчик subscribe в данном примере вообще не вызовется, потому что источник не отправляет ни одного onNext.
observeOn(computation) переключает доставку последующих уведомлений, а не выполнение самого create. Если добавить в источник onNext, его значение получит подписчик на computation. Пустой emitter в исходном коде также не отправляет onComplete, поэтому нельзя описывать пример как завершившийся поток с результатом.
Источник: reactivex.io.