How to Build an Event Loop in Rust

Build a Rust event loop using the tokio runtime and an async infinite loop that yields control via await.

You build an event loop in Rust by defining a Future that polls itself until completion, typically using the tokio runtime. The loop runs on a thread, repeatedly checking if the future is ready and executing its logic when it is.

use tokio::time::{sleep, Duration};

#[tokio::main]
async fn main() {
    loop {
        println!("Event loop iteration");
        sleep(Duration::from_secs(1)).await;
    }
}

This code uses the #[tokio::main] macro to set up the runtime and an infinite loop that yields control back to the scheduler via await on the sleep future.