本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。
在Rust中优雅地向上级传递Result<>中的错误信息
在Rust中,我们会经常使用Result<xxxx,xxxx>来返回正确结果和错误信息。但是,在这样的需 …
Rust Trait的dyn关键字
本文转自: dyn关键字是Rust的Trait(特征)的一个前缀。Rust 编译器需要知道每个函数的返回类型需 …
一个在关键路径上面隐藏了11个月的BUG:DragonOS进程切换查错
前言的前面 DragonOS是一个从0开始研发内核及用户态环境的,独立自主的,面向服务器领域的开源操作系统,提 …
6步速通:修复损坏的word文件
前两天,老师找到我,想让我帮忙修复一个打不开的docx文档。症状大概是这样: 打开文件的时候花了较长时间,并且 …
Linux通过screen命令,使得应用后台运行
在Linux中,如果需要一个软件后台长期运行,那我们可以使用nohup bash -c “xxxx …
在nginx上配置禁止搜索引擎爬虫访问网站
是这么一回事:code.DragonOS.org的引擎,最近总是被某个爬虫刷我们的流量,导致产生费用。而这个网 …
Ubuntu22 Server:修改静态ip地址
在Ubuntu22的服务器系统中,我们如果需要指定静态的ip地址,可以通过netplan来实现。 这个方法也可 …
异地旁路组网:zerotier
有这么一个需求:需要远程访问内网的nas。然后现成的解决方案有蒲公英这个方案,但是个人版的话限了只能3个设备, …
Rust流程控制:if let和while let
与C相比,Rust多了if let和while let这两个流程控制语句,因为之前我没有接触过这种,因此第一感 …