ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust日报】2022-07-25 如何修复和预防 buffered streams 死锁

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

原创 数据库开发技术 作者:Rust语言中文社区 时间:2022-07-26 23:31:01 0 删除 编辑


如何修复和预防 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 服务, 里面有详尽的步骤和代码.

原文链接: 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语言中文社区

原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-06-11

  • 博文量
    1769
  • 访问量
    718769