Tokio 入门
Tokio 是 Rust 生态中常用的异步运行时,适合构建网络服务、客户端、任务调度程序等。
添加依赖
Cargo.toml
[dependencies]
tokio = { version = "1", features = ["full"] }
第一个 Tokio 程序
src/main.rs
#[tokio::main]
async fn main() {
println!("hello tokio");
}
#[tokio::main] 会生成运行异步 main 函数所需的运行时入口。
创建异步任务
src/main.rs
#[tokio::main]
async fn main() {
let handle = tokio::spawn(async {
println!("task running");
});
handle.await.unwrap();
}
tokio::spawn 会把任务交给运行时调度。
异步等待
use std::time::Duration;
tokio::time::sleep(Duration::from_secs(1)).await;
println!("one second later");
这个等待不会阻塞整个线程 池。
小结
Tokio 是学习 Rust 异步编程的重要工具。你先掌握 #[tokio::main]、async fn、.await、tokio::spawn,再去写更复杂的异步 TCP、HTTP 或 MQTT 程序。