/* * RxJava without any multi-threading */ println("Calling function : ${Thread.currentThread().id}") val obs = Observable .just(1) .doOnNext { println("OnNext : Val = $it : Thread = ${Thread.currentThread().id}") } .map { println("Map : Val = $it : Thread = ${Thread.currentThread().id}") 2 } .doOnSubscribe { println("OnSubscribe : Thread = ${Thread.currentThread().id}") } .doOnNext { println("OnNext : Val = $it : Thread = ${Thread.currentThread().id}") } val thread = Thread { println("Calling thread : Thread = ${Thread.currentThread().id}") obs.subscribe() } thread.start() /* * End */