I'm learning about threads and how threads work when building a web application.
As per my understanding the flow is as follows:
- User sends Http request
- Tomcat creates a thread running the controller.
- Spring boot runs an async annotated method, that runs code on a seperate thread pool created by the spring boot app.
- The tomcat thread is released until the async method is completed to handle more requests.
Am I correct in my understanding?
Does spring boot create its own thread pool to run async operations on freeing the main tomcat thread?