【Rust日报】2022-07-25 如何修复和预防 buffered streams 死锁

如何修复和预防 buffered streams 死锁

Rust 消除了在其他语言中流行的各种愚蠢的bug和陷阱,使开发和维护我们的项目变得更加容易。不幸的是,当涉及异步编程中常见问题时,Rust在本质上没有那么强的能力。事实上,异步编程在Rust中要比在 Javascript 中难得多.

上个月,作者的服务因为一个严重的死锁bug而瘫痪了好几天,这不是他们看到的第一个死锁了, 至少是第四个了。就在上周,作者所在公司又看到了一次死锁导致的服务中断。幸运的是,5个死锁中有4个具有相同的根本原因: futures::stream::Buffered 天生就容易发生死锁。在这篇文章中,作者将解释这个问题,并探索防止这种情况再次发生的方法。

原文链接: https://blog.polybdenum.com/2022/07/24/fixing-the-next-thousand-deadlocks-why-buffered-streams-are-broken-and-how-to-make-them-safer.html

使用 actix 和 mongo 创建支持 GraphQL Rust 项目

这是一个手把手教你使用 Rust + Actix + mongoDB 来创建一个支持 GraphQL 的 web 服务, 里面有详尽的步骤和代码.

c12cddf3c8eedb2677cc3da8adc7358c.png

原文链接: https://dev.to/hackmamba/create-a-graphql-powered-project-management-endpoint-in-rust-and-mongodb-actix-web-version-3j1

STM32 Emulator

该项目的目标是模拟3D打印机,但任何类型的 stm32 控制器固件都可以工作。

github地址: https://github.com/nviennot/stm32-emulator

LanguageTool-Rust

LanguageTool 是一个开放源码的语法风格检查器。它可以纠正20多种语言,并免费使用,更多信息请访问languagetool.org. 他有一个公共API,你也可以在本地托管自己的服务器。

LanguageTool-Rust 可以帮助你通过 Rust 代码轻松地与这些服务器进行通信!

github 地址: https://github.com/jeertmans/languagetool-rust

--

From 日报小组 BobQin,FBI小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss

  • 微信公众号:Rust语言中文社区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值