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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章