`@Async` runs a method in a separate thread via a Spring proxy and an `Executor`. Common pitfalls: it doesn’t work on self‑invocation, it requires a public method on a Spring bean, and blocking I/O can still exhaust the thread pool if not sized properly.
Expanding on the short answer — what usually matters in practice:
A tiny example (an explanation template):
// Example: discuss trade-offs for "`@async`-methods:-how-do-they-work-and-what-are-"
function explain() {
// Start from the core idea:
// `@Async` runs a method in a separate thread via a Spring proxy and an `Executor`. Common p
}