Asynchronous programming is a method of programming that can allow multiple different things to be run concurrently (or in parallel). In Rust, it is accomplished using a high-level idea called a Future. Asynchronous programming is used a lot for IO because there are many times where you have to wait for something to happen (such as reading from a socket or a file) during which no progress can be made. This is a perfect moment to hand over control to something else so that it can start to make progress. This allows our program to always be making progress, which is the name of the game. Go through this slides, where Pawan Bisht will be talking about the asynchronous concept in Rust Programming like what operations performed by the Rust compiler that actually makes our code asynchronous and what's the role of waker, poll, etc. With this, you can increase your software/application's performance and responsiveness.