本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。
在Rust中优雅地向上级传递Result<>中的错误信息
在Rust中,我们会经常使用Result<xxxx,xxxx>来返回正确结果和错误信息。但是,在这样的需 …
Rust Trait的dyn关键字
本文转自: dyn关键字是Rust的Trait(特征)的一个前缀。Rust 编译器需要知道每个函数的返回类型需 …
Rust流程控制:if let和while let
与C相比,Rust多了if let和while let这两个流程控制语句,因为之前我没有接触过这种,因此第一感 …
Rust: Struct的Update语法
首先,我们假设具有这样的一个结构体: 然后,我们先是声明了第一个实例,叫做ord_1.并且为这个ord_1设置 …
Rust的std::iter::map()方法
今天在做rustlings的vec2.rs这个练习的时候,看到了这么一串代码: 这个函数主要是实现将输入的动态 …
Rust将new出来的对象赋予static生命周期
今天在用Rust写DragonOS的signal机制时候,遇到了这么一个问题:我需要在fork的时候为进程动态 …
Rust使用lazy_static来延迟全局变量的初始化
场景 在rust中,当我们生成全局static变量的时候,我们可以用以下的代码来声明: Rust编译器的静态求 …
加速Rust的update crates.io index的过程
我们在使用rust进行开发的时候,不可避免的需要从crates.io上面下载一些库。但是由于rust官方的服务 …
Rust:从嵌套循环中退出
在C语言中,我们常用goto语句来在错误条件下跳转到函数的数据清理部分。这种用法的好处尤其体现在“错误发生在嵌 …