Last active
July 20, 2016 20:22
-
-
Save thomasnield/81b783303564376b904d789480405e50 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class JavaLauncher { | |
public static void main(String[] args) { | |
Observable<Integer> source = Observable.range(1,10); | |
source.map(i -> sleep(i, 250)) | |
.doOnNext(i -> System.out.println("Emitting " + i + " on thread " + Thread.currentThread().getName())) | |
.flatMap(i -> | |
Observable.just(i) | |
.subscribeOn(Schedulers.computation()) | |
.map(i2 -> sleep(i2 * 10, 500)) | |
) | |
.subscribe( i -> System.out.println("Received " + i + " on thread " + Thread.currentThread().getName())); | |
sleep(-1, 30000); | |
} | |
private static int sleep(int i, int time) { | |
try { | |
Thread.sleep(time); | |
} catch (InterruptedException e) { | |
e.printStackTrace(); | |
} | |
return i; | |
} | |
} | |
/* OUTPUT | |
Emitting 1 on thread main | |
Emitting 2 on thread main | |
Emitting 3 on thread main | |
Received 10 on thread RxComputationThreadPool-3 | |
Emitting 4 on thread main | |
Received 20 on thread RxComputationThreadPool-4 | |
Received 30 on thread RxComputationThreadPool-1 | |
Emitting 5 on thread main | |
Received 40 on thread RxComputationThreadPool-2 | |
Emitting 6 on thread main | |
Received 50 on thread RxComputationThreadPool-3 | |
Emitting 7 on thread main | |
Received 60 on thread RxComputationThreadPool-4 | |
Emitting 8 on thread main | |
Received 70 on thread RxComputationThreadPool-1 | |
Emitting 9 on thread main | |
Received 80 on thread RxComputationThreadPool-2 | |
Emitting 10 on thread main | |
Received 90 on thread RxComputationThreadPool-3 | |
Received 100 on thread RxComputationThreadPool-4 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment