当前位置: 首页 > news >正文

网站设计流程电话网站建设浙江

网站设计流程电话,网站建设浙江,建设企业查询平台,万界商城系统关于tokio的select宏#xff0c;有不少的用途。包括超时和竞态选择等。 关于select宏需要关注#xff0c;相关的异步条件#xff0c;会同时执行#xff0c;只是当有一个最早完成时#xff0c;会执行“抛弃”和“对应”策略。 说明#xff1a;对本文以下素材的来源表示感…关于tokio的select宏有不少的用途。包括超时和竞态选择等。 关于select宏需要关注相关的异步条件会同时执行只是当有一个最早完成时会执行“抛弃”和“对应”策略。 说明对本文以下素材的来源表示感谢 https://zhuanlan.zhihu.com/p/14498925766select宏分支匹配的定义 pattern async expression handlerpattern当有返回值且需要处理往往用val、Some(val)待形式表示如果没有返回值或返回值不需处理往往用”_“来表示。 而async expression部分就是我们所指的condition_action部分。而handler部分就是分支对应的”后续任务“部分。 一、toml [dependencies] tokio { version 1.42.0, features [full] }二、main.rs 说明 condition_action为异步条件任务在后面的是“后续任务”。是否执行”后续任务“的前提是哪个条件任务是最早完成。但这个选择是通过异步同时执行所有的”条件任务“PK出来的。 举个例子可能更清楚 比如学校某班级有3位同学测试其运动水平高低并决定水平最高的人可以参加学校运动会比赛篮球或足球比赛这个举例不一定合理。假设设定测试条件任务是跑10000米(即condition_action)那么我们可以让3位同学同时跑首先冲过终点的人马上去参加比赛(“后续任务”)。 当3位同学中只要有人首先冲过终点condition_action结束就让他去代表参加比赛执行后续任务篮球或足球由其决定。很显然其它的人就不用跑了可以停下来了即被抛弃了更不需要去参赛。 use tokio::time;async fn conditon_action(s: String) - String{println!(\t 执行条件任务 {} 开始., s);time::sleep(time::Duration::from_secs(1)).await;println!(\t 执行条件任务 {} 结束! 后续执行 {},其它任务不执行, s,s);s }#[tokio::main] async fn main() {for i in 0..3 {println!(Round {}:, i);time::sleep(time::Duration::from_secs(2)).await;// 注意(1) select!会同时执行_A和_B两个任务// (2)但是只会选择_A与_B中最先完成的任务对应的任务来执行后续的任务// (3)同时_A与_B中没有被执行完的部分后续不执行。具体表现在condition_action函中有“开始”没有“结束”.tokio::select! {val conditon_action(i.to_string()_A) {println!(\t 执行后续任务{} 开始., val);time::sleep(time::Duration::from_secs(2)).await;println!(\t 执行后续任务{} 结束., val);},val conditon_action(i.to_string()_B) {println!(\t 执行后续任务{} 开始., val);time::sleep(time::Duration::from_secs(2)).await;println!(\t 执行后续任务{} 结束., val);}}} } 输出 Round 0:执行条件任务 0_B 开始.执行条件任务 0_A 开始.执行条件任务 0_A 结束! 后续执行 0_A,其它任务不执行执行后续任务0_A 开始.执行后续任务0_A 结束. Round 1:执行条件任务 1_B 开始.执行条件任务 1_A 开始.执行条件任务 1_B 结束! 后续执行 1_B,其它任务不执行执行后续任务1_B 开始.执行后续任务1_B 结束. Round 2:执行条件任务 2_A 开始.执行条件任务 2_B 开始.执行条件任务 2_A 结束! 后续执行 2_A,其它任务不执行执行后续任务2_A 开始.执行后续任务2_A 结束.解读 对于round0: 1、A和B条件任务均执行但B任务提前完成此时A任务未完成部分抛弃 2、执行后续B任务 对于round1: 1、A和B条件任务均执行但A任务提前完成此时B任务未完成部分抛弃 2、执行后续A任务. 对于round2: 1、A和B条件任务均执行但A任务提前完成此时B任务未完成部分抛弃 2、执行后续A任务. 从上面可以清晰看到tokio的select!中“抛弃”和“后续执行”策略。
http://www.hkea.cn/news/14316917/

相关文章:

  • 网站服务器下行很多是什么意思深圳网站建设熊掌号
  • 游戏网站建设方案书上网行为管理
  • 网站代码开发黄山小程序开发
  • 怎么做百度联盟网站电商后台管理网站模板
  • 展示设计设计万能说明如何优化网站关键词
  • 免费做外贸的网站平台清远网站关键字优化
  • 网站头图设计wordpress离线字体
  • 网站建设平台协议书什么是互联网企业
  • 网站界面设计规范怎么做网站卖美瞳
  • 网站建设工作情况福州网吧
  • 专业做家居的网站有哪些wordpress无法拖动小工具栏
  • 网站套餐表格模板设计君app下载
  • 企业网站的基本内容和营销功能网站基础模块建设
  • app 网站建设wordpress seo tdk
  • 尼高网站设计公司成品网站货源1
  • 公司网站里面页面链接怎么做做一个手机app的步骤
  • 手机网站app生成厦门建设网站哪家好
  • 网站开发后需要交接哪些材料做网站月收入多少
  • 西安网站建设开发中国制造网国际站官网
  • 鲜花礼品店网站建设策划书小型网站建设案例
  • 个人信息管理网站建设微信开发应用平台
  • 企业网站源码 一品资源网上海正规做网站公司报价
  • 智能建站模板合肥学习做网站
  • 免费发链接的网站南京网页搜索排名提升
  • 网站设计赏析沈阳市住房和城乡建设局网站
  • 免费做国际贸易的网站石家庄网络建设
  • 网站开发按前端后端分解北京建设招标信息网站
  • 辽宁省建设厅网站网站建设实训心得与建议
  • 什么网站可以做兼职广州开展线上教学
  • 图片 网站源码 采集网站建设制作深圳