當我們在使用tokio和MPSC(多生產者單消費者)通道時,通常以某種固定的方式連接派生線程。然而,在最近項目中,必須在各種配置中動態匹配異步生產者和消費者。
在這篇文章中,讓我們來看看如何實現這種非常有用的動態匹配模式。
首先,我們創建一個關于餐廳的Rust項目:
cargo init restaurant
在Cargo.toml文件中加入依賴項:
[dependencies]tokio = { version = "1.38.0", features = ["full"] }
然后,在src/main.rs文件中寫入業務邏輯代碼。
作為餐廳經理,可以分配不同的烹飪臺來異步準備不同類型的食物,代碼如下(現在不用擔心未定義的值):
async fn cooking_stand(food: char) { loop { somewhere.send(food.clone()).await; }}
食物應該被送到等待上菜的餐桌上,代碼如下:
async fn table (number: u8) { loop { let food = somehow.recv().await; println!("Got {} at table {}", food, number); }}
現在可以組織我們的餐廳了:
#[tokio::main]async fn main() { // 烹飪臺 tokio::spawn(cooking_stand('
本文鏈接:http://www.www897cc.com/showinfo-26-97905-0.html如何動態匹配 Tokio 派生線程?你知道嗎?
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Go語言并發控制Channel使用場景分析與解決方案
下一篇: SpringBoot這幾個工具類太有用了