Учебники

RxJava — Планировщики

Планировщики используются в многопоточной среде для работы с наблюдаемыми операторами.

Согласно Реактиву , Планировщик используется, чтобы запланировать, как цепочка операторов будет применяться к различным потокам.

По умолчанию Observable и цепочка операторов, к которой вы обращаетесь, будут выполнять свою работу и уведомлять своих наблюдателей в том же потоке, для которого вызывается метод Subscribe. Оператор SubscribeOn изменяет это поведение, указывая другой планировщик, с которым должен работать Observable. Оператор ObserveOn указывает другой планировщик, который Observable будет использовать для отправки уведомлений своим наблюдателям.

В RxJava доступны следующие типы планировщиков:

Schedulers.computation ()

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

Schedulers.io ()

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

Schedulers.newThread ()

Создает и возвращает планировщик, который создает новый поток для каждой единицы работы.

Schedulers.trampoline ()

Создает и возвращает планировщик, который ставит в очередь работу в текущем потоке, который будет выполнен после завершения текущей работы.

Schedulers.from (java.util.concurrent.Executor executor)

Преобразует исполнителя в новый экземпляр планировщика.