A Future in Rust is a trait that makes use of the .await or poll primitives.
The easiest way to get started with Rust Futures is to declare a function as async. Once a function is declared async, the .await syntax can be used inside of the function to declare that the function must wait for the previous future to end before itself may continue. In this fashion asynchronous code comes to be synchronized at runtime. The thread allocation etc. is left to the runtime to determine what is best to run when and where.