reactor-core/src/main/java/reactor/core/publisher/ParallelFlux.java
public final Mono<T> reduce(BiFunction<T, T, T> reducer) {
		Objects.requireNonNull(reducer, "reducer");
		return Mono.onAssembly(new ParallelMergeReduce<>(this, reducer));
	}
public final Mono<T> reduce(BiFunction<T, T, T> reducer) {
		Objects.requireNonNull(reducer, "reducer");
		return Mono.onAssembly(new ParallelMergeReduce<>(this, reducer));
	}
public final Mono < T > reduce ( BiFunction < T , T , T > reducer ) { Objects . requireNonNull ( reducer , "reducer" ) ; return Mono . onAssembly ( new ParallelMergeReduce <> ( this , reducer ) ) ; }
Reduces all values within a 'rail' and across 'rails' with a reducer function into
a single sequential value.
<p>
Note that the same reducer function may be called from multiple threads
concurrently.

@param reducer the function to reduce two values into one.

@return the new Mono instance emitting the reduced value or empty if the
{@link ParallelFlux} was empty
Reduces all values within a rail and across rails with a reducer function into a single sequential value . <p > Note that the same reducer function may be called from multiple threads concurrently .