1
我有一個包含阻塞任務(網絡調用,我們需要等待響應)的Project Reactor鏈。我想同時運行多個阻塞任務。ParallelFlux vs flatMap()用於阻塞I/O任務
好像無論ParallelFlux或flatMap()可以使用,裸骨的例子:
Flux.just(1)
.repeat(10)
.parallel(3)
.runOn(Schedulers.elastic())
.doOnNext(i -> blockingTask())
.sequential()
.subscribe()
或
Flux.just(1)
.repeat(10)
.flatMap(i -> Mono.fromCallable(() -> {blockingTask(); return i;}).subscribeOn(Schedulers.elastic()), 3)
.subscribe();
什麼是這兩種技術的優劣?一個比另一個更受歡迎嗎?有沒有其他的選擇?