Skip to content

Instantly share code, notes, and snippets.

@natdempk
Created October 5, 2017 03:10
Show Gist options
  • Save natdempk/a4c3d9440c9a68e04681dcce4570436b to your computer and use it in GitHub Desktop.
Save natdempk/a4c3d9440c9a68e04681dcce4570436b to your computer and use it in GitHub Desktop.
many vs. one call to observeOn
Flowable.range(1, 10)
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.blockingSubscribe(System.out::println);
RxCachedThreadScheduler-8
RxCachedThreadScheduler-8
RxCachedThreadScheduler-8
RxCachedThreadScheduler-7
RxCachedThreadScheduler-8
RxCachedThreadScheduler-7
RxCachedThreadScheduler-6
RxCachedThreadScheduler-8
RxCachedThreadScheduler-6
RxCachedThreadScheduler-7
RxCachedThreadScheduler-5
RxCachedThreadScheduler-8
RxCachedThreadScheduler-5
RxCachedThreadScheduler-6
RxCachedThreadScheduler-7
RxCachedThreadScheduler-4
RxCachedThreadScheduler-6
RxCachedThreadScheduler-8
RxCachedThreadScheduler-3
RxCachedThreadScheduler-4
RxCachedThreadScheduler-7
RxCachedThreadScheduler-5
RxCachedThreadScheduler-3
RxCachedThreadScheduler-2
RxCachedThreadScheduler-8
RxCachedThreadScheduler-2
RxCachedThreadScheduler-4
RxCachedThreadScheduler-5
RxCachedThreadScheduler-6
RxCachedThreadScheduler-7
RxCachedThreadScheduler-4
RxCachedThreadScheduler-3
RxCachedThreadScheduler-1
RxCachedThreadScheduler-8
RxCachedThreadScheduler-1
RxCachedThreadScheduler-9
RxCachedThreadScheduler-8
RxCachedThreadScheduler-2
1
RxCachedThreadScheduler-3
RxCachedThreadScheduler-6
RxCachedThreadScheduler-7
RxCachedThreadScheduler-5
RxCachedThreadScheduler-7
RxCachedThreadScheduler-5
RxCachedThreadScheduler-2
RxCachedThreadScheduler-1
RxCachedThreadScheduler-9
RxCachedThreadScheduler-1
RxCachedThreadScheduler-4
RxCachedThreadScheduler-7
RxCachedThreadScheduler-4
RxCachedThreadScheduler-6
RxCachedThreadScheduler-3
RxCachedThreadScheduler-7
RxCachedThreadScheduler-2
2
RxCachedThreadScheduler-1
RxCachedThreadScheduler-9
RxCachedThreadScheduler-3
RxCachedThreadScheduler-5
RxCachedThreadScheduler-6
RxCachedThreadScheduler-4
RxCachedThreadScheduler-6
RxCachedThreadScheduler-2
3
RxCachedThreadScheduler-9
RxCachedThreadScheduler-1
4
RxCachedThreadScheduler-6
RxCachedThreadScheduler-3
RxCachedThreadScheduler-5
RxCachedThreadScheduler-9
RxCachedThreadScheduler-4
RxCachedThreadScheduler-5
RxCachedThreadScheduler-2
RxCachedThreadScheduler-3
RxCachedThreadScheduler-9
5
RxCachedThreadScheduler-2
RxCachedThreadScheduler-1
RxCachedThreadScheduler-4
RxCachedThreadScheduler-1
RxCachedThreadScheduler-5
RxCachedThreadScheduler-3
RxCachedThreadScheduler-9
RxCachedThreadScheduler-2
6
RxCachedThreadScheduler-9
RxCachedThreadScheduler-4
RxCachedThreadScheduler-1
7
RxCachedThreadScheduler-9
RxCachedThreadScheduler-3
8
9
RxCachedThreadScheduler-2
RxCachedThreadScheduler-1
RxCachedThreadScheduler-9
10
Process finished with exit code 0
Flowable.range(1, 10)
.observeOn(Schedulers.io())
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.doOnNext(x -> System.out.println(Thread.currentThread().getName()))
.blockingSubscribe(System.out::println);
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
2
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
3
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
4
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
5
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
6
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
7
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
8
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
9
RxCachedThreadScheduler-1
RxCachedThreadScheduler-1
10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment