Q&A
Q&AWhen should I use async Python instead of threads?
Async is best for I/O-bound work, while threads and workers are better for CPU-bound tasks or blocking libraries.
Read the concise answer
Use async when the code is mostly waiting on IO such as database calls, HTTP requests, or message queues. Use threads or process pools for CPU-intensive work or code that cannot cooperate with the event loop. The key is matching the concurrency model to the bottleneck, not adding async everywhere because it seems modern.