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

建立自己的网站平台的好处公众号推广引流

建立自己的网站平台的好处,公众号推广引流,免费广告制作,与未成年女生开一间房犯法吗背景 最近正在做AI知识库的相关内容,web框架使用Rocket,需要使用SSE处理模型的流式输出,而Rocket的SSE功能比较单一,没有进行全局状态管理,因此需要手动处理SSE连接,而对于web环境下,必然会涉及…

背景

最近正在做AI知识库的相关内容,web框架使用Rocket,需要使用SSE处理模型的流式输出,而Rocket的SSE功能比较单一,没有进行全局状态管理,因此需要手动处理SSE连接,而对于web环境下,必然会涉及到多个线程,在多线程环境下使用crossbeam的channel收发数据时便遇到了阻塞问题。

场景代码

对有问题的代码简化如下:

TextStream! {while let Some(item) = receiver.recv() {// 推送消息}
};

第一个请求过来时,一切正常;而第二个请求过来时,不仅仅是单个接口阻塞,而是整个程序都会阻塞。并且,第二个请求来后,所有的tokio::spawn中的异步块均无法进入。后来重新查看了crossbeam和rocket的文档,明白了导致阻塞的原因:

  • Rocket使用Tokio的异步Runtime,Tokio使用协程而非线程
  • receiver.recv()会阻塞当前线程
    以上两点,导致第二个请求来后,由于receiver.recv()阻塞了当前线程,后续的请求也是跑在同一线程上,而导致整个系统的阻塞。

解决办法:

  1. 使用异步Stream包装receiver,使其以非阻塞的方式运行在Tokio上
  2. 使用Tokio的mpsc的channel,考虑到SSE的单向传输特性,只需要一个消费者向前端发送消息,因此mpsc更合适。

总结

  • crossbeam的channel是mpmc模型,即支持多生产者和多消费者,在非异步环境中比较好用,而对于基于协程的异步环境,如果不加处理可能导致系统阻塞,而且关闭channel也比较麻烦,可能会导致channle无法关闭而阻塞。因此,crossbeam的channel其实更适合逻辑简单且需要高频传递消息的场景。
  • tokio的channel是mpsc模型,即多生产者单消费者,比较适合做SSE推送,也更适合在异步环境中使用。值得注意的是,该channel的Sender支持Clone,而Receiver不支持Clone,所以需要设计好代码结构,能够在需要的地方获取到channel。

文章转载自:

http://OzWsPvb0.xnfLx.cn
http://iflWn6YO.xnfLx.cn
http://gIl1ZH5N.xnfLx.cn
http://XuRz1uoR.xnfLx.cn
http://kH9ru5ea.xnfLx.cn
http://NSm1tf1w.xnfLx.cn
http://uRRFHpTb.xnfLx.cn
http://GBbH0X2F.xnfLx.cn
http://kX2vO5Lh.xnfLx.cn
http://FgLvzp4X.xnfLx.cn
http://N72OHcpL.xnfLx.cn
http://BuV8A1d5.xnfLx.cn
http://NgoRe5Vn.xnfLx.cn
http://V62ri8DW.xnfLx.cn
http://yEcPUjXF.xnfLx.cn
http://36rJXYhO.xnfLx.cn
http://5VHbvVFv.xnfLx.cn
http://iisJ55MZ.xnfLx.cn
http://K4Ekb7bi.xnfLx.cn
http://228kAYRA.xnfLx.cn
http://0lp58zdk.xnfLx.cn
http://zVK32Wqw.xnfLx.cn
http://52ufCcbC.xnfLx.cn
http://YEsO2G0e.xnfLx.cn
http://MdEb1xxX.xnfLx.cn
http://X5U8Lu5y.xnfLx.cn
http://0QnmNOpl.xnfLx.cn
http://L7hcZiBc.xnfLx.cn
http://c0nmNDHI.xnfLx.cn
http://oh7M9MOS.xnfLx.cn
http://www.dtcms.com/wzjs/668077.html

相关文章:

  • 百度竞价网站怎么做推广普通话内容50字
  • 有了实名制域名怎么做网站网站开发合作合同范本
  • 优班图搭建网站淘宝店铺怎么免费推广
  • 申请网站域名定制网页制作公司
  • 服务周到的网站建设做类似淘宝网站怎么做
  • 怎么做网站埋点织梦可以做哪些类型型网站
  • 北京网络维护公司网站优化比较好用的软件
  • 网站建设 百科南开区网站建设公司
  • 临沂网站建设公司全国同学录网站建设
  • 漂亮网站织梦网站后台怎么登陆
  • 上海手机网站开发价格wordpress转为app
  • 企业建设网站需要什么资料wordpress开启用户登录
  • 河南外贸网站建设wordpress改网站logo
  • 做网站应该掌握的技术互联网站备案登记表
  • 网站免费申请注册2022营业执照年审
  • 为什么要建设个人网站word模板免费下载
  • php做的购物网站网站开发公司东莞
  • 南昌住房建设局网站网站如何做电脑和手机app
  • 莱西网站建设网络营销推广方法和应用场景
  • 施工企业资质划分如何做自己网站的seo
  • 资阳市网站建设成都旅游景点大全排名
  • 类似一起做网店的网站vs和php哪个做网站好
  • 最好的医疗网站建设北京值得去的互联网公司
  • 上海联通 网站备案wordpress转为app
  • 福建西南建设有限公司网站网易企业邮箱登陆入口官网
  • 设计类的网站和简介郑州app软件定制
  • php源码 个人网站华为云云速建站教程
  • 做智能网站系统下载地址在线代理网页浏览
  • wordpress 公司网站 模板 下载国内外网站网站
  • 校园网上零售网站建设方案北京网站建设模板