面试题答案
一键面试-
引入Tokio库: 在
Cargo.toml
文件中添加Tokio依赖:[dependencies] tokio = { version = "1", features = ["full"] }
这里
features = ["full"]
会引入Tokio的全部功能,根据实际需求也可以引入更轻量的特性。 -
编写异步任务代码: 在
src/main.rs
中编写如下代码:use tokio; #[tokio::main] async fn main() { // 创建一个异步任务 let task = tokio::spawn(async { // 这里是异步任务的具体逻辑 println!("This is an asynchronous task."); }); // 等待任务完成 let _ = task.await; }
#[tokio::main]
:这是一个宏,它会自动创建一个Tokio运行时,并在这个运行时中执行main
函数。这个宏使得异步main
函数能够像普通main
函数一样运行。tokio::spawn(async {... })
:这行代码创建了一个新的异步任务。async {... }
块定义了这个任务的具体逻辑,在这个例子中,只是打印一条消息。tokio::spawn
将这个异步任务提交到Tokio运行时的任务队列中。task.await
:这行代码等待之前创建的异步任务完成。await
关键字暂停当前异步函数的执行,直到被等待的任务完成,然后返回任务的结果(在这个例子中,任务没有返回值,所以使用_
忽略结果)。