Multi-threaded async/await gets ugly. If you have serious compute-bound sections, the model tends to break down, because you’re effectively blocking a thread that you share with others.
Compute-bound multi-threaded does not work as well in Rust as it should. Problems include

– Futex congestion collapse.

– Starvation of unfair mutexes.

Source: Why choose async/await over threads? | Hacker News