tokioにはマクロがいくつか用意されている。
マクロによってはフィーチャーを指定しないと使用できない。
例えば#[tokio::main]や#[tokio::test]を使うにはrt(rt-multi-thread)とmacrosフィーチャーを指定する必要がある。
複数の非同期関数を同時に待つ場合はjoin!マクロを使う。
[dependencies]
tokio = { version = "1.42.0", features=[〜, "macros"] }
async fn execute() {
let r /*(i32, i32)*/ = tokio::join!(task1(), task2());
}
async fn task1() -> i32 {
123
}
async fn task2() -> i32 {
456
}