Skip to content

Output different from output in book #5

Description

@mghildiy

On page 152, following code is implemented for subscribeOn:

log("Starting");
final Observable<String> obs = simple();
log("Created");
obs
.subscribeOn(schedulerA)
.subscribe(
x -> log("Got " + x),
Throwable::printStackTrace,
() -> log("Completed")
);
log("Exiting");

Book output is:

35 | main | Starting
112 | main | Created
123 | main | Exiting
123 | Sched-A-0 | Subscribed
124 | Sched-A-0 | Got A
124 | Sched-A-0 | Got B
124 | Sched-A-0 | Completed

But when I implement same code, I don't get output for scheduler:

0	| main	| Starting
81	| main	| Created
83	| main	| Transformed
94	| main	| exiting

Program exits even before scheduler thread starts working. To get output from scheduler thread, I have to make main thread sleep at end.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions