Rx schedulers
At the beginning of this chapter, we observed that different Observable
objects emit events on different threads. A synchronous Observable
object emits on the caller thread when subscribe
gets invoked. The Observable.timer
object emits events asynchronously on threads internally used by Rx. Similarly, events in Observable
objects created from Future
objects are emitted on ExecutionContext
threads. What if we want to use an existing Observable
object to create another Observable
object bound to a specific thread?
To encapsulate the choice of the thread on which an Observable
object should emit events, Rx defines a special class called Scheduler
. A Scheduler
class is similar to the Executor
and ExecutionContext
interfaces we saw in ...
Get Learning Concurrent Programming in Scala now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.