RxJava - Planificateurs
Les planificateurs sont utilisés dans un environnement multi-thread pour travailler avec les opérateurs Observable.
Selon le Reactive, Scheduler est utilisé pour planifier la manière dont la chaîne d'opérateurs s'appliquera à différents threads.
Par défaut, un Observable et la chaîne d'opérateurs que vous lui appliquez feront son travail, et en informeront ses observateurs, sur le même thread sur lequel sa méthode Subscribe est appelée. L'opérateur SubscribeOn modifie ce comportement en spécifiant un autre Scheduler sur lequel l'Observable doit fonctionner. L'opérateur ObserveOn spécifie un autre Scheduler que l'Observable utilisera pour envoyer des notifications à ses observateurs.
Les types d'ordonnanceurs suivants sont disponibles dans RxJava -
N ° Sr. | Planificateur et description |
---|---|
1 | Schedulers.computation() Crée et renvoie un planificateur destiné au travail de calcul. Le nombre de threads à planifier dépend des processeurs présents dans le système. Un thread est autorisé par CPU. Idéal pour les boucles d'événements ou les opérations de rappel. |
2 | Schedulers.io() Crée et renvoie un planificateur destiné au travail lié aux E / S. Le pool de threads peut s'étendre si nécessaire. |
3 | Schedulers.newThread() Crée et renvoie un planificateur qui crée un nouveau fil pour chaque unité de travail. |
4 | Schedulers.trampoline() Crée et renvoie un planificateur qui met en file d'attente le travail sur le thread actuel à exécuter une fois le travail en cours terminé. |
4 | Schedulers.from(java.util.concurrent.Executor executor) Convertit un exécuteur en une nouvelle instance de Scheduler. |