Каковы преимущества использования Schedulers.newThread()
по сравнению с Schedulers.io()
в Retrofit
сетевом запросе. Я видел много примеров, в которых используется io()
, но я хочу понять, почему.
Пример ситуации:
observable.onErrorResumeNext(refreshTokenAndRetry(observable))
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())...
vs
observable.onErrorResumeNext(refreshTokenAndRetry(observable))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())...
Одна из причин, которые я видел -
newThread()
создает новый поток для каждой единицы работы. io()
будет использовать пул потоков
Но как этот аргумент повлиял на приложение? А какие еще есть аспекты?