Skip to content

Output different from output in book #5

@mghildiy

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