I have tried running a flatMap on a Flux range followed by subscribeOn and it seems all operations run on the same thread. Is this normal?
Flux.range(0, 1000000).log().flatMap{ it + 1 }.subscribeOn(Schedulers.parallel()).subscribe()
I have tried running a flatMap on a Flux range followed by subscribeOn and it seems all operations run on the same thread. Is this normal?
Flux.range(0, 1000000).log().flatMap{ it + 1 }.subscribeOn(Schedulers.parallel()).subscribe()
You can create a ParallelFlux as follows:
Flux.range(0, 100000).parallel(2).runOn(Schedulers.parallel()).log().map{ it + 1 }.subscribe()
^^^^^^^^^^^ ^^^^^^use runOn ^^^^^^^^^^^
Use .subscribeOn(Schedulers.X) to manage subscription
Use .publishOn(Schedulers.X) to manage publishing
Use .parallel(N).runOn(Schedulers.X) when using ParallelFlux.