src/main/java/io/reactivex/parallel/ParallelFlowable.java
@CheckReturnValue
    @NonNull
    public final Flowable<T> reduce(@NonNull BiFunction<T, T, T> reducer) {
        ObjectHelper.requireNonNull(reducer, "reducer");
        return RxJavaPlugins.onAssembly(new ParallelReduceFull<T>(this, reducer));
    }
@CheckReturnValue
    @NonNull
    public final Flowable<T> reduce(@NonNull BiFunction<T, T, T> reducer) {
        ObjectHelper.requireNonNull(reducer, "reducer");
        return RxJavaPlugins.onAssembly(new ParallelReduceFull<T>(this, reducer));
    }
@ CheckReturnValue @ NonNull public final Flowable < T > reduce ( @ NonNull BiFunction < T , T , T > reducer ) { ObjectHelper . requireNonNull ( reducer , "reducer" ) ; return RxJavaPlugins . onAssembly ( new ParallelReduceFull < T > ( 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 Flowable instance emitting the reduced value or empty if the ParallelFlowable 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 .