В Project Reactor используйте оператор parallel()
:
Flux.from(thePublisher) //if we don't assume publisher is already a Flux
.parallel() //instruct the Flux to divide work on "rails",
//but so far these rails are running on the same thread !
.runOn(Schedulers.parallel()) //now each rail runs on its own thread
.map(...).etc(...)
.sequential() //merge the rails back to a single sequence
//subscribe, or continue processing sequentially
Rx Java 2 очень похож и имеет тот же оператор parallel
.