< 返回版块

gensmusic 发表于 2022-07-25 19:41

如何修复和预防 buffered streams 死锁

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

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

原文链接

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

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

img

原文链接

STM32 Emulator

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

github地址

LanguageTool-Rust

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

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

github 地址

--

From 日报小组 BobQin,FBI小白

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页