Last active
January 29, 2018 09:37
Revisions
-
joaocsousa revised this gist
Jan 29, 2018 . 3 changed files with 17 additions and 17 deletions.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -47,4 +47,4 @@ public static void main(String[] args) throws InterruptedException { Thread.sleep(20000); } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -7,7 +7,7 @@ public enum SingletonTask { int result = randomGenerator.nextInt(100); System.out.println("-> Started Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms"); Thread.sleep(3000); System.out.println("-> Finished Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms. Value To Deliver: " + result); observableEmitter.onNext(result); observableEmitter.onComplete(); }).share(); @@ -19,4 +19,4 @@ public static SingletonTask singletonTask() { public Observable<Integer> getObservable() { return longRunningObservable; } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,14 @@ [1] subscribed at 224ms -> Started Task at 229ms [2] subscribed at 1230ms [3] subscribed at 2233ms -> Finished Task at 3231ms. Value To Deliver: 40 [1] Received result. Value: 40 [2] Received result. Value: 40 [3] Received result. Value: 40 [4] subscribed at 3239ms -> Started Task at 3239ms [5] subscribed at 4243ms -> Finished Task at 6243ms. Value To Deliver: 84 [4] Received result. Value: 84 [5] Received result. Value: 84 -
joaocsousa revised this gist
Jan 29, 2018 . No changes.There are no files selected for viewing
-
joaocsousa revised this gist
Jan 29, 2018 . 3 changed files with 24 additions and 26 deletions.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -9,46 +9,42 @@ public static void main(String[] args) throws InterruptedException { singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(result -> System.out.println("[1] Received result. Value: " + result)); System.out.println("[1] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(result -> System.out.println("[2] Received result. Value: " + result)); System.out.println("[2] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(result -> System.out.println("[3] Received result. Value: " + result)); System.out.println("[3] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(result -> System.out.println("[4] Received result. Value: " + result)); System.out.println("[4] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(result -> System.out.println("[5] Received result. Value: " + result)); System.out.println("[5] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(20000); } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -1,20 +1,22 @@ public enum SingletonTask { INSTANCE; private final Random randomGenerator = new Random(System.currentTimeMillis()); private final Observable<Integer> longRunningObservable = Observable.<Integer>create(observableEmitter -> { int result = randomGenerator.nextInt(100); System.out.println("-> Started Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms"); Thread.sleep(3000); System.out.println("-> Finished Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms"); observableEmitter.onNext(result); observableEmitter.onComplete(); }).share(); public static SingletonTask singletonTask() { return INSTANCE; } public Observable<Integer> getObservable() { return longRunningObservable; } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -1,14 +1,14 @@ [1] subscribed at 234ms -> Started Task at 238ms [2] subscribed at 1238ms [3] subscribed at 2239ms -> Finished Task at 3242ms [1] Received result. Value: 55 [4] subscribed at 3243ms [2] Received result. Value: 55 -> Started Task at 3243ms [3] Received result. Value: 55 [5] subscribed at 4247ms -> Finished Task at 6245ms [4] Received result. Value: 27 [5] Received result. Value: 27 -
joaocsousa renamed this gist
Jan 29, 2018 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
joaocsousa revised this gist
Jan 29, 2018 . No changes.There are no files selected for viewing
-
joaocsousa revised this gist
Jan 29, 2018 . No changes.There are no files selected for viewing
-
joaocsousa created this gist
Jan 29, 2018 .There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,54 @@ public class Main { public static final long START_TIME = System.currentTimeMillis(); public static void main(String[] args) throws InterruptedException { SingletonTask singletonTask = singletonTask(); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(timestamp -> System.out.println("[1] Got result: " + formatTimestamp(timestamp) + "ms")); System.out.println("[1] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(timestamp -> System.out.println("[2] Got result: " + formatTimestamp(timestamp) + "ms")); System.out.println("[2] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(timestamp -> System.out.println("[3] Got result: " + formatTimestamp(timestamp) + "ms")); System.out.println("[3] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(timestamp -> System.out.println("[4] Got result: " + formatTimestamp(timestamp) + "ms")); System.out.println("[4] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(1000); singletonTask.getObservable() .subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.single()) .subscribe(timestamp -> System.out.println("[5] Got result: " + formatTimestamp(timestamp) + "ms")); System.out.println("[5] subscribed at " + (System.currentTimeMillis() - START_TIME) + "ms"); Thread.sleep(20000); } private static String formatTimestamp(long timestamp) { return String.valueOf((timestamp - START_TIME) % 1000000); } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,20 @@ public enum SingletonTask { INSTANCE; private final Observable<Long> longRunningObservable = Observable.<Long>create(observableEmitter -> { long timestamp = System.currentTimeMillis(); System.out.println("-> Started Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms"); Thread.sleep(3000); System.out.println("-> Finished Task at " + (System.currentTimeMillis() - Main.START_TIME) + "ms"); observableEmitter.onNext(timestamp); observableEmitter.onComplete(); }).share(); public static SingletonTask singletonTask() { return INSTANCE; } public Observable<Long> getObservable() { return longRunningObservable; } } This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,14 @@ [1] subscribed at 229ms -> Started Task at 233ms [2] subscribed at 1233ms [3] subscribed at 2239ms -> Finished Task at 3237ms [1] Got result: 233ms [2] Got result: 233ms [3] Got result: 233ms [4] subscribed at 3244ms -> Started Task at 3244ms [5] subscribed at 4248ms -> Finished Task at 6246ms [4] Got result: 3244ms [5] Got result: 3244ms