Rust Async Programming and Coroutine

无论是线程级还是进程级的并发,开销都很大. Non-Blocking I/O 在 IO 密集型任务中,大部分线程处于阻塞状态,占用内存和 CPU 资源.所以一个 straightforward 方法就是少开点线程,用少量线程处理大量任务:当 sock...

Atomic Operations and Locks

Atomic Operations Compare-and-Swap 操作 先假设没人跟我抢,那么我先拿到旧值,等我计算出新值后,再检查现在的值是不是和我拿到的旧值相等:如果不相等,说明有人抢数据了,那么我就重新试一遍;否则说明没人跟我抢,或者没抢...

Rust no_std 开发

简单介绍一下 syscall 调用机制,以及 Rust 里调用 syscall 的方法.手写 Heap Allocator 分配算法,Handle Table 的简单介绍.

Rust: Multi-Processing

Rust 中的多进程编程

Rust: 并发编程

通过练习学一点 Rust 小知识,包含基础的线程创建、Arc 指针的运用、mpsc 的使用

Rust Trait (3): TryFrom, TryInto

Rust 中表示类型转换可能失败的 trait

Rust STL (2): Vector

Rust 内置库 STL 提供的动态数组

Rust STL (1): HashMap

Rust 内置标准库中的哈希表

Rust Trait (2): From, Into

与 Type Conversion 相关的 trait

Rust Trait (1): AsRef, AsMut

AsRef<T> 是一个通用的 Trait,用于从某种类型“借用”一个引用,U: AsRef<T> 表示 U 类型可以转换成 &T.例如,AsRef<str> 可以接收 str, String 类型,并转换...