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