title: How Spring Boot Async method handles request using ThreadPool
body: <p>I am not able to understand how Async works.I know that webserver has its own thread pool to handle multiple requests. When we implement asynchronous web service with spring boot and configure let's say <strong>"n"</strong> threads using <strong>TaskExecutor</strong>, does that mean <strong>n</strong> threads created for each thread coming as request? </p>
  
  <p>To clarify, the server will assign a request to a thread from its ThreadPool. So when this thread starts execution and calls a function marked with <strong>@Asynch</strong>, it can create another <strong>"n"</strong> threads for each incoming thread to handle async work. Please let me know if my understanding is correct. </p>
  
  <p>If What I understand is correct then how to decide what amount of pool size should be created? Can someone please give some example.</p>