Observable<T>.observeOnで、Observable<T>.subscribeに渡した通知処理スレッドのスケジューラをセットできる。
Observable (RxJava Javadoc 1.3.8)
発行は現在のスレッド、通知は新しいスレッド。
[1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 1, name = main [4]:id = 14, name = RxNewThreadScheduler-1 1 [4]:id = 14, name = RxNewThreadScheduler-1 2 [4]:id = 14, name = RxNewThreadScheduler-1 3 Completed! [5]:id = 1, name = main
こういう風に全部出る場合もあるが、
[1]:id = 1, name = main [3]:id = 1, name = main [5]:id = 1, name = main [2]:id = 11, name = RxComputationScheduler-1
こういう風に出ない場合もある。
(よく考えたら、メインスレッドで待っていないから、出し切れていないだけか。)
普通は、発行が新しいワーカースレッド、通知がメインUIスレッド、としたいが、AWTやSwingの場合、どれにすればいいのかわからないのが難点。
(computation、いやioっぽいけど・・・。)
Sample/rxjava/Observable_T/observeOn/src/Observable_T at master · bg1bgst333/Sample · GitHub