Skip to content

Instantly share code, notes, and snippets.

@SergejIsbrecht
Created November 3, 2016 17:43
Show Gist options
  • Save SergejIsbrecht/d81d8a2435bb488519582bdc336ffffb to your computer and use it in GitHub Desktop.
Save SergejIsbrecht/d81d8a2435bb488519582bdc336ffffb to your computer and use it in GitHub Desktop.
@Test
public void name() throws Exception {
Subscription subscribe = Observable.merge(getObservable(), getTimedObservable())
.observeOn(Schedulers.io())
.subscribe(s -> {
System.out.println("subscription " + s + "-Thread- " + Thread.currentThread());
//Log.i("test", s);
});
Thread.sleep(5_000);
}
private Observable<String> getTimedObservable() {
return Observable.interval(150, TimeUnit.MILLISECONDS)
.map(aLong -> {
System.out.println("getTimedObservable: " + Thread.currentThread());
//Log.i("test", "tick thread: " + Thread.currentThread().getId());
return String.valueOf(aLong);
});
//.subscribeOn(Schedulers.io());
}
private Observable<String> getObservable() {
return Observable.<String>create(subscriber -> {
try {
for (int i = 1; i <= 10; i++) {
System.out.println("getObservable: " + Thread.currentThread());
subscriber.onNext(String.valueOf(i * 100));
Thread.sleep(300);
}
subscriber.onCompleted();
} catch (Exception e) {
subscriber.onError(e);
}
});
//.subscribeOn(Schedulers.io());
}
getObservable: Thread[main,5,main]
subscription 100-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 200-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 300-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 400-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 500-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 600-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 700-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 800-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 900-Thread- Thread[RxIoScheduler-2,5,main]
getObservable: Thread[main,5,main]
subscription 1000-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 0-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 1-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 2-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 3-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 4-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 5-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 6-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 7-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 8-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 9-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 10-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 11-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 12-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 13-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 14-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 15-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 16-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 17-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 18-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 19-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 20-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 21-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 22-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 23-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 24-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 25-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 26-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 27-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 28-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 29-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 30-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 31-Thread- Thread[RxIoScheduler-2,5,main]
getTimedObservable: Thread[RxComputationScheduler-1,5,main]
subscription 32-Thread- Thread[RxIoScheduler-2,5,main]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment