# Async (Asynchronous Programming) Asynchronous programming allows a program to perform tasks concurrently without blocking the main execution thread. It is particularly useful for I/O-bound operations, such as network requests or file reading, where waiting for a response can be done in the background. In Rust, asynchronous functions are defined using the async keyword and are executed with the help of an asynchronous runtime like tokio. This approach improves the efficiency and responsiveness of applications by enabling them to handle multiple tasks simultaneously. ## Further information - [Asynchronous Programming in Rust](https://doc.rust-lang.org/book/ch17-00-async-await.html) - [Learn Tokio](https://tokio.rs/tokio/tutorial/) - [Tokio Documentation](https://docs.rs/tokio/latest/tokio/)