查看原文
其他

【Rust日报】如何处理异步清理代码

gensmusic Rust语言中文社区 2024-05-09

如何处理异步清理代码

这篇文章讨论了Rust异步编程中的一个挑战:如何处理异步清理代码。当前的异步Rust没有好的机制来处理需要在使用后执行的非阻塞清理代码。作者考虑了在析构函数中使用await的可能性,但由于多种技术和设计挑战,这看起来不太现实。

作者提出了几个关于异步清理的解决方案,包括"do...final"代码块,以及提出了可能的API变动,如增加poll_cancel函数支持异步取消操作。文章还探讨了线性类型和不可丢弃的类型等概念,这些概念旨在确保类型在作用域结束时总是执行清理代码,无论是同步还是异步。最后,强调了为了实现这些功能,需要底层的运行时系统和语言特性的更新和支持。

原文链接 https://without.boats/blog/asynchronous-clean-up/

在终端里玩Hattrick

ssHattrick是一款多人游戏,你可以通过SSH来玩。它是流行游戏 Hattrick 的 Rust 克隆版本。

github 地址 https://github.com/ricott1/sshattrick

OasysDB: 可嵌入的向量数据库

OasysDB是一款可嵌入式的、高效且易于使用的向量数据库。它被设计成一个库,可以嵌入到您的AI应用程序中。OasysDB用Rust编写,并使用Sled作为其持久性存储引擎,将向量集合保存到磁盘上。

OasysDB实现了HNSW(分层可导航小世界)作为其索引算法。这是一个尖端算法,被许多向量数据库所使用。它速度快、内存效率高,且能很好地扩展到大型数据集。

目前 0.2 版本已经发布.

github 地址 https://github.com/oasysai/oasysdb

ESP嵌入式Rust开发

在这篇文章中,使用Rust语言和标准库构建了一个在ESP32C3上运行的ping CLI应用程序。支持主机名和选项。此外,作为输出的一部分,还会报告ping的统计信息。

原文链接 https://dev.to/apollolabsbin/esp-embedded-rust-ping-cli-app-part-2-1hf0

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存