public <T> Future<T> execute(
            final Request request, final HttpClientResponseHandler<T> handler, final FutureCallback<T> callback) {
        final BasicFuture<T> future = new BasicFuture<>(callback);
        final ExecRunnable<T> runnable = new ExecRunnable<>(
                future,
                request,
                this.executor != null ? this.executor : Executor.newInstance(),
                handler);
        if (this.concurrentExec != null) {
            this.concurrentExec.execute(runnable);
        } else {
            final Thread t = new Thread(runnable);
            t.setDaemon(true);
            t.start();
        }
        return future;
    }
Asynchronous executor for {@link Request}s.

@since 4.3
httpclient5-fluent/src/main/java/org/apache/hc/client5/http/fluent/Async.java