title: RxJava Scheduler to observe on main thread
body: <p>If I write something like this, then <strong>both</strong> the operation and notification will be on the <strong>current</strong> thread...</p>
  
  <pre><code>Observable.fromCallable(() -&gt; "Do Something")
      .subscribe(System.out::println);
  </code></pre>
  
  <p>If I do the operation on a background thread like this, then <strong>both</strong> the operation and notification will be on a <strong>background</strong> thread...</p>
  
  <pre><code>Observable.fromCallable(() -&gt; "Do Something")
      .subscribeOn(Schedulers.io())
      .subscribe(System.out::println);
  </code></pre>
  
  <p>If I want to observe on the main thread and do in the background in <strong>Android</strong> I would do...</p>
  
  <pre><code>Observable.fromCallable(() -&gt; "Do Something")
      .subscribeOn(Schedulers.io())
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(System.out::println);
  </code></pre>
  
  <p>But If I was writing a standard Java program, what is the equivalent to state that you want to observe on the main thread?</p>