src/main/java/io/reactivex/Single.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T, U> Single<T> using(Callable<U> resourceSupplier,
                                         Function<? super U, ? extends SingleSource<? extends T>> singleFunction,
                                         Consumer<? super U> disposer) {
        return using(resourceSupplier, singleFunction, disposer, true);
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T, U> Single<T> using(Callable<U> resourceSupplier,
                                         Function<? super U, ? extends SingleSource<? extends T>> singleFunction,
                                         Consumer<? super U> disposer) {
        return using(resourceSupplier, singleFunction, disposer, true);
    }
@ CheckReturnValue @ SchedulerSupport ( SchedulerSupport . NONE ) public static < T , U > Single < T > using ( Callable < U > resourceSupplier , Function < ? super U , ? extends SingleSource < ? extends T > > singleFunction , Consumer < ? super U > disposer ) { return using ( resourceSupplier , singleFunction , disposer , true ) ; }
Allows using and disposing a resource while running a SingleSource instance generated from
that resource (similar to a try-with-resources).
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code using} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <T> the value type of the SingleSource generated
@param <U> the resource type
@param resourceSupplier the Callable called for each SingleObserver to generate a resource Object
@param singleFunction the function called with the returned resource
Object from {@code resourceSupplier} and should return a SingleSource instance
to be run by the operator
@param disposer the consumer of the generated resource that is called exactly once for
that particular resource when the generated SingleSource terminates
(successfully or with an error) or gets disposed.
@return the new Single instance
@since 2.0
Allows using and disposing a resource while running a SingleSource instance generated from that resource ( similar to a try - with - resources ) . <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > {