I'm currently doing a deep dive into the dangers of Java threading and specifically how these apply to RxJava. Answers are appreciated, but to forestall the inevitable RTFM I'd also appreciate references to said manual.
I've heard the term Asynchronous Boundary thrown around a lot and I have a general idea but I haven't found a strict definition.
Where are the Asynchronous Boundaries in these examples?
// example 1
Observable.just(123)
.map(i -> i + 1)
.subscribe(System.out::println);
// example 2
Observable.just(123)
.observeOn(Schedulers.newThread())
.map(i -> i + 1)
.subscribe(System.out::println);
// example 3
Observable.just(123)
.subscribeOn(Schedulers.newThread())
.map(i -> i + 1)
.subscribe(System.out::println);
Are there any other examples that are relevant.