Async runtime
Async code needs a runtime to drive futures:
#[tokio::main]
async fn main() {
// runs on the Tokio runtime
}
tokio is the most popular runtime. It provides the event loop, timers, and IO. Other runtimes include async-std and async-tokio.
Why it works: the runtime multiplexes many futures onto few threads.