Google Android - это несложно
http://forum.startandroid.ru/

Обновление курса RxJava. Урок 6
http://forum.startandroid.ru/viewtopic.php?f=9&t=7691
Страница 1 из 1

Автор:  damager82 [ 26 янв 2017, 10:46 ]
Заголовок сообщения:  Обновление курса RxJava. Урок 6

Вышел новый урок для курса RxJava
http://startandroid.ru/ru/courses/rxjava.html

Урок 6. subcribeOn и observeOn.
В этом уроке рассмотрим, как работает RxJava с точки зрения потоков и научимся управлять потоками с помощью операторов subscribeOn и observeOn.

На сайте также есть курс по Dagger 2
http://startandroid.ru/ru/courses/dagger-2.html

В этом курсе всего 4 урока, но он практически полностью раскрывает тему.

Click here to read this article!

Автор:  zTrap [ 27 янв 2017, 10:03 ]
Заголовок сообщения:  Re: Обновление курса RxJava. Урок 6

В данном уроке рассказано что в RxJava есть потоки для работы с сетью и диском, так же для вычислений. Вопрос вот в чем: эти потоки заточены под свои типизировные задачи, или же это просто логическое разделение для удобства?

Автор:  damager82 [ 28 янв 2017, 01:07 ]
Заголовок сообщения:  Re: Обновление курса RxJava. Урок 6

Отличный вопрос, спасибо! Я дополнил урок следующим текстом.


Насколько я понял, почитав различные источники, есть ощутимая разница между io и computation шедулерами.

io - может содержать сколько угодно потоков, и предполагается, что задачи выполняемые в этих потоках не будут серьезно загружать процессор. Если все потоки заняты, то под каждую новую задачу просто выделяется новый поток.

computation - максимальное число потоков ограничено количеством ядер процессора. Если все потоки заняты, то новые задачи помещаются в очередь.

Т.е. если вы IO-операции будете выполнять в computation шедулере, то получите ограничение по количеству потоков и ваши операции будут выстраиваться в очередь. При одновременной загрузке большого количества файлов из сети это может существенно снизить общую скорость загрузки.

А если вы вычислительные операции, которые сильно грузят процессор, будете выполнять в io шедулере, вы получите множество очень загруженных потоков, что может отрицательно сказаться на общей производительности.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/