ExecutorService executor = Executors.newFixedThreadPool(poolSize);
ThreadPoolExecutor executor = (ThreadPoolExecutor) Executors.newFixedThreadPool(poolSize);
executor.setMaximumPoolSize(maxPoolSize);
executor.setCorePoolSize(corePoolSize);
executor.setKeepAliveTime(keepAliveTime, TimeUnit.SECONDS);
ExecutorService executor = Executors.newFixedThreadPool(poolSize);
HttpClient httpClient = HttpClient.newBuilder()
.executor(executor)
.build();
HttpRequest request1 = HttpRequest.newBuilder()
.uri(URI.create("http://www.example.com"))
.build();
HttpRequest request2 = HttpRequest.newBuilder()
.uri(URI.create("http://www.example.com"))
.build();
CompletableFuture<HttpResponse<String>> response1 = httpClient.sendAsync(request1, HttpResponse.BodyHandlers.ofString());
CompletableFuture<HttpResponse<String>> response2 = httpClient.sendAsync(request2, HttpResponse.BodyHandlers.ofString());