Threading

The Rx observable model is unopinionated when it comes to threading, and yet flexible enough to allow developers to chose a threading model that works best for them. An Observable chain can be moved between threads using simple operators, and the handling of Observable results can be moved onto any thread just as easily. RxJava provides built-in schedules for common types of async work, including the following:

Ease of threading using Rx is one of its best features as it simplifies an area of computing that is traditionally difficult to get right.