O'Reilly logo

Learning Concurrent Programming in Scala by Aleksandar Prokopec

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required