@CheckReturnValue
    @NonNull
    public static <T> ParallelFlowable<T> from(@NonNull Publisher<? extends T> source,
            int parallelism, int prefetch) {
        ObjectHelper.requireNonNull(source, "source");
        ObjectHelper.verifyPositive(parallelism, "parallelism");
        ObjectHelper.verifyPositive(prefetch, "prefetch");

        return RxJavaPlugins.onAssembly(new ParallelFromPublisher<T>(source, parallelism, prefetch));
    }
@CheckReturnValue
    @NonNull
    public static <T> ParallelFlowable<T> from(@NonNull Publisher<? extends T> source,
            int parallelism, int prefetch) {
        ObjectHelper.requireNonNull(source, "source");
        ObjectHelper.verifyPositive(parallelism, "parallelism");
        ObjectHelper.verifyPositive(prefetch, "prefetch");

        return RxJavaPlugins.onAssembly(new ParallelFromPublisher<T>(source, parallelism, prefetch));
    }
@ CheckReturnValue @ NonNull public static < T > ParallelFlowable < T > from ( @ NonNull Publisher < ? extends T > source , int parallelism , int prefetch ) { ObjectHelper . requireNonNull ( source , "source" ) ; ObjectHelper . verifyPositive ( parallelism , "parallelism" ) ; ObjectHelper . verifyPositive ( prefetch , "prefetch" ) ; return RxJavaPlugins . onAssembly ( new ParallelFromPublisher < T > ( source , parallelism , prefetch ) ) ; }
Take a Publisher and prepare to consume it on parallelism number of 'rails' ,
possibly ordered and round-robin fashion and use custom prefetch amount and queue
for dealing with the source Publisher's values.
@param <T> the value type
@param source the source Publisher
@param parallelism the number of parallel rails
@param prefetch the number of values to prefetch from the source
the source until there is a rail ready to process it.
@return the new ParallelFlowable instance
Take a Publisher and prepare to consume it on parallelism number of rails possibly ordered and round - robin fashion and use custom prefetch amount and queue for dealing with the source Publisher s values .