rust之async

 
async/.await可以让出当前线程的控制权而不是阻塞,当前线程等待某个操作完成时允许其他代码执行。

有两种使用方式:async fn和async,每个返回执行future特性的值。

 1 // `foo()` returns a type that implements `Future<Output = u8>`.
 2 // `foo().await` will result in a value of type `u8`.
 3 async fn foo() -> u8 { 5 }
 4 
 5 fn bar() -> impl Future<Output = u8> {
 6     // This `async` block results in a type that implements
 7     // `Future<Output = u8>`.
 8     async {
 9         let x: u8 = foo().await;
10         x + 5
11     }
12 }

async生命周期

async move

Asynchronous Programming in Rust

 

posted @ 2023-03-12 09:05  PKICA  阅读(102)  评论(0编辑  收藏  举报