RxJava - Scheduler

Scheduler werden in Multithreading-Umgebungen verwendet, um mit Observable-Operatoren zu arbeiten.

Nach dem Reactive, Scheduler werden verwendet, um zu planen, wie die Operator-Kette auf verschiedene Threads angewendet wird.

Standardmäßig erledigen ein Observable und die Kette von Operatoren, die Sie auf es anwenden, seine Arbeit und benachrichtigen seine Beobachter in demselben Thread, in dem seine Subscribe-Methode aufgerufen wird. Der SubscribeOn-Operator ändert dieses Verhalten, indem er einen anderen Scheduler angibt, auf dem das Observable ausgeführt werden soll. Der ObserveOn-Operator gibt einen anderen Scheduler an, mit dem der Observable Benachrichtigungen an seine Beobachter sendet.

In RxJava sind folgende Arten von Schedulern verfügbar:

Sr.Nr. Scheduler & Beschreibung
1

Schedulers.computation()

Erstellt einen Scheduler für Computerarbeiten und gibt ihn zurück. Die Anzahl der zu planenden Threads hängt von den im System vorhandenen CPUs ab. Pro CPU ist ein Thread zulässig. Am besten für Event-Loops oder Callback-Operationen.

2

Schedulers.io()

Erstellt einen Scheduler für E / A-gebundene Arbeiten und gibt ihn zurück. Der Thread-Pool kann nach Bedarf erweitert werden.

3

Schedulers.newThread()

Erstellt einen Scheduler und gibt ihn zurück, der für jede Arbeitseinheit einen neuen Thread erstellt.

4

Schedulers.trampoline()

Erstellt einen Scheduler und gibt ihn zurück, der die Arbeit an dem aktuellen Thread in die Warteschlange stellt, der nach Abschluss der aktuellen Arbeit ausgeführt werden soll.

4

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

Konvertiert einen Executor in eine neue Scheduler-Instanz.