title: subscribeOn(Schedulers.io()) not working but subscribeOn(Schedulers.trampoline()) does
body: <pre class="lang-kotlin prettyprint-override"><code>fun main() {
      Single.just(&quot;faefw&quot;)
          .subscribeOn(Schedulers.trampoline())
          .map {
              println(&quot;map in thread ${Thread.currentThread().name}&quot;)
          }
          .flatMap {
              return@flatMap Single.just(231).map {
                  println(&quot;map in thread ${Thread.currentThread().name}&quot;)
                  return@map it
              }
          }
          .subscribe({
              println(it)
          }, {
              println(it)
          })
  }
  </code></pre>
  <p>prints out:</p>
  <pre><code>map in thread main
  map in thread main
  231
  </code></pre>
  <p>But</p>
  <pre class="lang-kotlin prettyprint-override"><code>fun main() {
      Single.just(&quot;faefw&quot;)
          .subscribeOn(Schedulers.io())
          .map {
              println(&quot;map in thread ${Thread.currentThread().name}&quot;)
          }
          .flatMap {
              return@flatMap Single.just(231).map {
                  println(&quot;map in thread ${Thread.currentThread().name}&quot;)
                  return@map it
              }
          }
          .subscribe({
              println(it)
          }, {
              println(it)
          })
  }
  </code></pre>
  <p>outputs nothing!</p>
  <p><code>subscribeOn(Schedulers.computation())</code> and <code>subscribeOn(Schedulers.newThread())</code> do not work either</p>
  <p>Why?</p>