最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

rust中async/await的使用示例詳解

 更新時(shí)間:2024年10月12日 09:26:48   作者:UDAIOT1000  
在Rust中,async/await用于編寫(xiě)異步代碼,使得異步操作更易于理解和編寫(xiě),通過(guò)使用await,在async函數(shù)或代碼塊中等待Future完成,而不會(huì)阻塞線程,允許同時(shí)執(zhí)行其他Future,這種機(jī)制簡(jiǎn)化了異步編程的復(fù)雜性,使代碼更加直觀

在Rust中,async/await 用于編寫(xiě)異步代碼。它允許您以同步的方式編寫(xiě)異步代碼,使得異步操作更易于理解和編寫(xiě)。

安裝依賴:

cargo add futures
cargo add async-std

使用示例:

示例1:

use async_std::task::block_on;
fn main() {
    block_on(hello());
}
async fn hello() {
    println!("hello , world!!!");
}

 示例2:

use std::time::Duration;
use async_std::task::{block_on, sleep};
fn main() {
    let future = hello();
    block_on(future); // 會(huì)阻塞線程等待異步任務(wù)完成
    println!("hello main");
}
async fn hello() {
    println!("hello , world!!!");
    // 使用async_std運(yùn)行時(shí)的sleep,不要使用線程的sleep,睡眠3秒
    sleep(Duration::from_secs(3)).await;
}

示例3:

 async代碼塊:

use std::{future::Future, time::Duration};
use async_std::task::{block_on, sleep};
fn main() {
    let future = hello();
    block_on(future); // 會(huì)阻塞線程等待異步任務(wù)完成
    println!("hello main");
}
fn hello() -> impl Future<Output = ()> {
    async {
        println!("hello , world!!!");
        // 使用async_std運(yùn)行時(shí)的sleep,不要使用線程的sleep,睡眠3秒
        sleep(Duration::from_secs(3)).await;
    }
}

 使用await:

使用await,

它只能在async函數(shù)或者async代碼塊中用,

它會(huì)等待Future代碼直到完成,

它不會(huì)阻塞當(dāng)前線程,線程還可以執(zhí)行其他的Future

use std::time::Duration;
use async_std::task::{block_on, sleep};
fn main() {
    block_on(order());
}
async fn cook() -> String {
    sleep(Duration::from_secs(3)).await;
    "糖醋排骨".to_string()
}
async fn order() {
    println!("來(lái)一份糖醋排骨!!!");
    let paigu = cook().await;
    println!("{:?}", paigu);
}

到此這篇關(guān)于rust中async/await的使用的文章就介紹到這了,更多相關(guān)rust async/await使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Rust中引用與借用的用法

    深入了解Rust中引用與借用的用法

    這篇文章主要為大家詳細(xì)介紹了Rust語(yǔ)言中引用與借用的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以了解一下
    2022-11-11
  • Rust生命周期之驗(yàn)證引用有效性與防止懸垂引用方式

    Rust生命周期之驗(yàn)證引用有效性與防止懸垂引用方式

    本文介紹了Rust中生命周期注解的應(yīng)用,包括防止懸垂引用、在函數(shù)中使用泛型生命周期、生命周期省略規(guī)則、在結(jié)構(gòu)體中使用生命周期、靜態(tài)生命周期以及如何將生命周期與泛型和特質(zhì)約束結(jié)合,通過(guò)這些機(jī)制,Rust在編譯時(shí)就能捕獲內(nèi)存安全問(wèn)題
    2025-02-02
  • Rust之Substrate框架中的pallet詳解

    Rust之Substrate框架中的pallet詳解

    Pallet是Substrate區(qū)塊鏈的基礎(chǔ)模塊,它定義了區(qū)塊鏈的業(yè)務(wù)邏輯和狀態(tài)轉(zhuǎn)換規(guī)則。開(kāi)發(fā)人員可以使用現(xiàn)有的Pallet來(lái)快速構(gòu)建區(qū)塊鏈,也可以開(kāi)發(fā)自定義的Pallet來(lái)實(shí)現(xiàn)特定的功能,感興趣的小伙伴可以參考閱讀下
    2023-05-05
  • Rust編寫(xiě)自動(dòng)化測(cè)試實(shí)例權(quán)威指南

    Rust編寫(xiě)自動(dòng)化測(cè)試實(shí)例權(quán)威指南

    這篇文章主要為大家介紹了Rust編寫(xiě)自動(dòng)化測(cè)試實(shí)例權(quán)威指南詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • Rust中實(shí)例化動(dòng)態(tài)對(duì)象的示例詳解

    Rust中實(shí)例化動(dòng)態(tài)對(duì)象的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Rust中實(shí)例化動(dòng)態(tài)對(duì)象的多種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開(kāi)發(fā)流程

    Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開(kāi)發(fā)流程

    Rust中的Crate是編譯器處理的最小代碼單元,可以是二進(jìn)制或庫(kù),每個(gè)Crate由一個(gè)CrateRoot文件(通常是src/main.rs或src/lib.rs)定義,本文給大家介紹Rust 中的 Packages 與 Crates模塊化構(gòu)建的基礎(chǔ)及開(kāi)發(fā)流程,感興趣的朋友一起看看吧
    2025-02-02
  • 使用Rust語(yǔ)言管理Node.js版本

    使用Rust語(yǔ)言管理Node.js版本

    這篇文章主要介紹一個(gè)使用?Rust?進(jìn)行編寫(xiě)的一體化版本管理工具?Rtx,比如使用它來(lái)管理?Node.js?版本,它很簡(jiǎn)單易用,使用了它,就可以拋棄掉?nvm?了,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Rust中字符串類型String的46種常用方法分享

    Rust中字符串類型String的46種常用方法分享

    Rust主要有兩種類型的字符串:&str和String,本文主要為大家介紹的是String類型的字符串以及它常用的46種方法,感興趣的小伙伴可以了解一下
    2023-06-06
  • Rust中的Vector多值存儲(chǔ)使用方法

    Rust中的Vector多值存儲(chǔ)使用方法

    Vector在Rust中是一個(gè)非常靈活和強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),通過(guò)有效利用它,我們可以更加方便地處理和操作多個(gè)值,使得代碼更加清晰和易于維護(hù),這篇文章主要介紹了Rust中的Vector多值存儲(chǔ)的利器,需要的朋友可以參考下
    2024-02-02
  • 詳解Rust 修改源

    詳解Rust 修改源

    這篇文章主要介紹了Rust 修改源的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01

最新評(píng)論

抚州市| 益阳市| 建始县| 农安县| 广汉市| 丹江口市| 随州市| 东明县| 古丈县| 澄城县| 龙胜| 宝清县| 张家港市| 太和县| 邢台市| 龙州县| 自贡市| 海城市| 云南省| 奉化市| 扎赉特旗| 太白县| 封开县| 余干县| 辽宁省| 习水县| 武夷山市| 昌江| 漳平市| 华蓥市| 靖安县| 富民县| 河北省| 龙海市| 庄河市| 襄城县| 阿图什市| 江北区| 龙泉市| 德州市| 阿拉善左旗|