RxJava - Scheduler

Gli scheduler vengono utilizzati in ambienti multi-threading per lavorare con gli operatori Observable.

Secondo il Reactive, Scheduler vengono utilizzati per pianificare il modo in cui la catena di operatori verrà applicata a thread diversi.

Per impostazione predefinita, un Observable e la catena di operatori a cui applichi faranno il suo lavoro e notificheranno ai suoi osservatori, sullo stesso thread su cui viene chiamato il suo metodo di iscrizione. L'operatore SubscribeOn modifica questo comportamento specificando un diverso Scheduler su cui deve operare Observable. L'operatore ObserveOn specifica uno Scheduler diverso che Observable utilizzerà per inviare notifiche ai propri osservatori.

Ci sono i seguenti tipi di Scheduler disponibili in RxJava:

Sr.No. Scheduler e descrizione
1

Schedulers.computation()

Crea e restituisce uno Scheduler destinato al lavoro computazionale. Il conteggio dei thread da pianificare dipende dalle CPU presenti nel sistema. È consentito un thread per CPU. Ideale per loop di eventi o operazioni di callback.

2

Schedulers.io()

Crea e restituisce uno Scheduler destinato al lavoro associato a IO. Il pool di thread può estendersi secondo necessità.

3

Schedulers.newThread()

Crea e restituisce uno Scheduler che crea un nuovo Thread per ogni unità di lavoro.

4

Schedulers.trampoline()

Crea e restituisce uno Scheduler che mette in coda il lavoro sul thread corrente da eseguire al termine del lavoro corrente.

4

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

Converte un Executor in una nuova istanza dello Scheduler.