I found no one explained better than this single picture.

My explanation
SubscribeOn specifies the scheduler in which messages are produced.
ObserveOn specifies the scheduler in which messages are consumed.
Memos of daily programming

SubscribeOn specifies the scheduler in which messages are produced.
ObserveOn specifies the scheduler in which messages are consumed.