rust 实现协程池

csharp;gutter:true; use crossbeam_channel::{Receiver, bounded}; use tokio::time::{Duration, delay_for};</p> <h1>[tokio::main]</h1> <p>async fn main() { let (s, r) = bounded(10);</p> <pre><code>for i in 0..100 { s.send(i).unwrap(); let rx = r.clone(); tokio::task::spawn(async move { handle(i, rx).await; }); } delay_for(Duration::from_secs(10)).await; </code></pre> <p>}</p> <p>async fn handle(i: i32, rx: Receiver) { let _d = defer::defer(|| { println!("{} been defer", i); if let Err(err) = rx.recv() { println!("err : {:?}", err); } });</p> <pre><code>delay_for(Duration::from_secs(1)).await; println!("{} been excute", i); </code></pre> <p>}

使用 channel 做数量控制, defer 来保证 所有 消息被释放

rust 实现协程池

万水千山总是情, 领个红包行不行?

rust 实现协程池

觉得还可以的话记的打赏哦^.^..

rust 实现协程池

Original: https://www.cnblogs.com/mafeng/p/15029791.html
Author: ma_fighting
Title: rust 实现协程池

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546611/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 深入理解独占锁ReentrantLock类锁

    ReentrantLock介绍 【1】ReentrantLock是一种基于AQS框架的应用实现,是JDK中的一种线程并发访问的同步手段,它的功能类似于synchronized是一种…

    技术杂谈 2023年7月23日
    067
  • vnpy源码阅读学习(3):学习vnpy的界面的实现

    学习vnpy的界面的实现 通过简单的学习了PyQt5的一些代码以后,我们基本上可以理解PyQt的一些用法,下面让我们来先研究下vnpy的UI部分的代码。 首先回到上一节看到的run…

    技术杂谈 2023年7月11日
    078
  • 真正高效的学习,其实是自言自语

    伊利诺伊大学的心理学家布莱恩·罗斯报名参加了一堂计算机科学课程。他已经好长一段时间没有上过一堂课。他的胡须与秃头让他看起来很显眼。他比其他所有学生都大了十岁,这让他十分紧张。 但是…

    技术杂谈 2023年5月31日
    0110
  • 互联网行业的常用黑话,你知道几条?

    往期推荐 身为一名新时代的互联网工作人员,怎么能对这个行业的黑话一无所知呢?下面我给大家整理了互联网行业的基本”黑话”,看看你知道几条。 一、互联网人知名大…

    技术杂谈 2023年5月31日
    0110
  • PDCA循环

    PDCA循环 近年来,软件项目的规模及其复杂性正在以空前的速度增长,互联网用户市场庞大,互联网公司和相应的软件产品层出不穷。快速响应需求变化往往是互联网行业的常态,软件产品的快速开…

    技术杂谈 2023年5月31日
    095
  • PasteNow for mac(剪贴板工具)中文

    Original: https://www.cnblogs.com/aurora-123/p/16873966.htmlAuthor: 佛系女孩Title: PasteNow fo…

    技术杂谈 2023年7月11日
    063
  • Python实现改进后的Bi-RRT算法实例

    Python实现改进后的Bi-RRT算法实例 1.背景说明 以下代码是参照 上海交通大学海洋工程国家重点实验室《基于改进双向RRT的无人艇局部路径规划算法研究》的算法思想实现的。 …

    技术杂谈 2023年7月24日
    098
  • jboss_log4j.xml配置

    log4j是个优秀的开源的java日志系统,jboss内部也集成他,在jboss下默认的只是对server做了每日日志,并没有对你部署的项目进行每日的日志构建,但我们能通过修改jb…

    技术杂谈 2023年5月30日
    086
  • 大疆Mavic_2无人机说明书

    https://www.bilibili.com/read/cv10407489/ https://max.book118.com/html/2021/0408/807213510…

    技术杂谈 2023年5月31日
    080
  • 千古前端图文教程-HTML003-初次见面HTML

    初次见面HTML 初次见面HTML 编辑器相关 VS Code 的使用 VS Code 的使用 Sublime Text 的使用 HTML的概念 概念:超文本 概念:标记语言 HT…

    技术杂谈 2023年7月11日
    093
  • nm命令学习-看不到static的函数符号表原因分析

    问题: nm -A -l a.out出现如下信息: 0000000020 r func 说明,这个变量在只读数据段,并且是static的。 如果编译a.out时加上 -O3 发现0…

    技术杂谈 2023年6月1日
    076
  • 亚马逊领导力原则14条

    我们的领导力准则不仅仅是非常鼓舞人心的墙帷。这些准则十分有效,就像我们努力工作所取得的成果一样。无论是在讨论新项目的创意、决定应对客户问题的最佳解决方案,还是对求职者进行面试,亚马…

    技术杂谈 2023年5月31日
    094
  • 微信开发者工具,文件如何自动保存?

    我们用微信开发者工具开发小程序的时候,经常遇到文件不自动保存的情况,需要手动 Ctrl + S,很烦人。 怎么自动保存呢? 按照如下步骤:1、设置2、编辑器设置3、勾选&#8221…

    技术杂谈 2023年5月31日
    094
  • Game Engine Architecture 6

    【 Game Engine Architecture 6】 1、Data-Parallel Computations A GPU is a specialized coproces…

    技术杂谈 2023年5月31日
    073
  • 通俗易懂讲反射

    可进入本人语雀文档看,格式更清晰明了哦https://www.yuque.com/docs/share/3c013ec6-6c35-4854-aaf6-ff9a6e8a6af2?#…

    技术杂谈 2023年7月25日
    083
  • VS Code vetur 插件离线下载安装

    https://marketplace.visualstudio.com/vscode 其中需要下载的是: VeturPine WuVue tooling for VS Code …

    技术杂谈 2023年6月1日
    079
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球