Как я могу выполнить flatMap, используя несколько потоков в Reactor? - PullRequest
0 голосов
/ 21 ноября 2018

Я попытался запустить flatMap на Flux range, за которым следует subscribeOn, и кажется, что все операции выполняются в одном потоке.Это нормально?

Flux.range(0, 1000000).log().flatMap{ it + 1 }.subscribeOn(Schedulers.parallel()).subscribe()

1 Ответ

0 голосов
/ 21 ноября 2018

Вы можете создать ParallelFlux следующим образом:

Flux.range(0, 100000).parallel(2).runOn(Schedulers.parallel()).log().map{ it + 1 }.subscribe()
                      ^^^^^^^^^^^  ^^^^^^use runOn ^^^^^^^^^^^
...