Servlet 3.0에서는 요청을 처리하는 스레드를 컨테이너에 반환 할 수있는 비동기 작업 인 작업을 만들 수 있습니다.이 컨테이너는 이제 다른 요청을 처리하는 데 사용할 수 있습니다. 비동기 요청에 사용할 수있는 스레드 수를 구성하기 위해 스레드 풀을 사용하는 경우 어떻게 조정해야합니까/고려해야 할 매개 변수는 무엇입니까?비동기 스레드로 스레드 풀 구성을 조정/분석하는 방법은 무엇입니까?
그것은 ForkJoin 풀에서 스레드를 잡아 봄 말해이 같은 처리를 할 수도 있습니다 (Taken from this tutorial :
logger.info("Request received");
DeferredResult<String> deferredResult = new DeferredResult<>();
CompletableFuture.supplyAsync(taskService::execute)
.whenCompleteAsync((result, throwable) -> deferredResult.setResult(result));
logger.info("Servlet thread released");
우리가 대이 작업을 수행해야 할 때와 관리되는 스레드 풀의 접근 방식을 복용 Callable
? 거의 유일한 차이점은 Java 8s commonPool을 구성하고 Spring Boot가 위의 유형의 CompleteableFuture 처리를 수행하는 스레드를 가져오고 다른 구성 요소에서 일부를 구성하는 것입니다. Spring에 대한 ExecutorService 유형입니다. 접근 방식에는 차이가없는 것처럼 보입니다.