I'm currently quite confused about the difference between Spring's @Async and how a Singleton Bean is being handled with respect to concurrent requests.
I have read a very insightful explanation in question (How does the singleton Bean serve the concurrent request?). But I would like to expand further based on the 2nd answer.
The answer states that "In short a stateless singleton will be able to serve two requests concurrently because they will be in different threads.".
If this were true, then what is the point of Spring's @Async, which from Spring's tutorial (https://spring.io/guides/gs/async-method/) states: The findUser method is flagged with Spring’s @Async annotation, indicating it will run on a separate thread.?
Am I right to say that the Singleton Beans handle concurrent requests on separate threads, whereas @Async handles how a single request is processed across different threads?
If that is so, how do I configure the pool of threads used by my web application?