如何处理异步清理代码
这篇文章讨论了Rust异步编程中的一个挑战:如何处理异步清理代码。当前的异步Rust没有好的机制来处理需要在使用后执行的非阻塞清理代码。作者考虑了在析构函数中使用await的可能性,但由于多种技术和设计挑战,这看起来不太现实。
作者提出了几个关于异步清理的解决方案,包括"do...final"代码块,以及提出了可能的API变动,如增加poll_cancel
函数支持异步取消操作。文章还探讨了线性类型和不可丢弃的类型等概念,这些概念旨在确保类型在作用域结束时总是执行清理代码,无论是同步还是异步。最后,强调了为了实现这些功能,需要底层的运行时系统和语言特性的更新和支持。
在终端里玩Hattrick
ssHattrick是一款多人游戏,你可以通过SSH来玩。它是流行游戏 Hattrick 的 Rust 克隆版本。
OasysDB: 可嵌入的向量数据库
OasysDB是一款可嵌入式的、高效且易于使用的向量数据库。它被设计成一个库,可以嵌入到您的AI应用程序中。OasysDB用Rust编写,并使用Sled作为其持久性存储引擎,将向量集合保存到磁盘上。
OasysDB实现了HNSW(分层可导航小世界)作为其索引算法。这是一个尖端算法,被许多向量数据库所使用。它速度快、内存效率高,且能很好地扩展到大型数据集。
目前 0.2 版本已经发布.
ESP嵌入式Rust开发
在这篇文章中,使用Rust语言和标准库构建了一个在ESP32C3上运行的ping CLI应用程序。支持主机名和选项。此外,作为输出的一部分,还会报告ping的统计信息。
--
From 日报小组 BobQ, FBI小白
社区学习交流平台订阅:
评论区
写评论还没有评论