Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 21 авг 2017, 15:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Обновление курса RxJava. Урок 6
СообщениеДобавлено: 26 янв 2017, 10:46 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1344
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
Вышел новый урок для курса 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!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 26 янв 2017, 10:47, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Обновление курса RxJava. Урок 6
СообщениеДобавлено: 27 янв 2017, 10:03 

Зарегистрирован: 27 янв 2017, 09:56
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
В данном уроке рассказано что в RxJava есть потоки для работы с сетью и диском, так же для вычислений. Вопрос вот в чем: эти потоки заточены под свои типизировные задачи, или же это просто логическое разделение для удобства?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Обновление курса RxJava. Урок 6
СообщениеДобавлено: 28 янв 2017, 01:07 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1344
Благодарил (а): 0 раз.
Поблагодарили: 72 раз.
Отличный вопрос, спасибо! Я дополнил урок следующим текстом.


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

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

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

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

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

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB