Attribute Macro tokio_macros::main_rt
source · #[main_rt]
Expand description
Marks async function to be executed by selected runtime. This macro helps set up a Runtime
without requiring the user to use Runtime or
Builder directly.
Function arguments:
Arguments are allowed for any functions aside from main
which is special
Usage
Using default
#[tokio::main(flavor = "current_thread")]
async fn main() {
println!("Hello world");
}
Equivalent code not using #[tokio::main]
fn main() {
tokio::runtime::Builder::new_current_thread()
.enable_all()
.build()
.unwrap()
.block_on(async {
println!("Hello world");
})
}
Rename package
use tokio as tokio1;
#[tokio1::main(crate = "tokio1")]
async fn main() {
println!("Hello world");
}
Equivalent code not using #[tokio::main]
use tokio as tokio1;
fn main() {
tokio1::runtime::Builder::new_multi_thread()
.enable_all()
.build()
.unwrap()
.block_on(async {
println!("Hello world");
})
}