Rust 实战丨手写一个 RwLock

通过三个渐进式版本深入理解 RwLock 的实现原理,从基础功能到性能优化再到公平性保证,掌握原子操作、内存顺序、条件变量等并发编程核心技术,并学会解决写饥饿等实际问题。

rust

Rust 实战丨手写一个 Condvar

在多线程编程中,你是否遇到过这样的困扰:消费者线程不断轮询检查数据是否准备好,白白浪费 CPU 资源?或者在生产者-消费者模式中,如何让消费者优雅地等待数据到来?本文将带你手写一个高效的 Condvar(条件变量),解决线程间的等待与唤醒问题。我们将从最基础的实现开始,逐步优化到减少不必要的系统调用,并深入分析内存顺序的选择,让你彻底理解条件变量背后的设计哲学。

rust

Rust 实战丨手写一个 Mutex

本文带你从零开始实现一个 Rust 中的 Mutex 锁,结合 Rust 原子操作和内存顺序的核心知识,逐步揭示 Mutex 背后的等待与唤醒机制。通过阅读本文,你不仅可以掌握如何使用 Rust 的原子 API 实现一个高效的互斥锁,还能深入理解原子操作背后的内存模型,为掌握更复杂的并发编程技巧打下坚实基础。

rust

Rust 实战丨手写一个 Arc

本文手把手带你拆解并重构 Arc:从单线程引用计数,到跨线程 Weak 防环,再到剥离强/弱引用与内存序优化,层层深入 Rust 并发与内存模型核心。

rust

Rust 实战丨手写一个 oneshot channel

本文从零开始,通过多版本迭代,实现一个安全的 Rust oneshot channel。我们将深入 `AtomicBool`、`UnsafeCell`、`MaybeUninit` 的使用,通过 `Drop` 管理内存,并最终以 `Sender`/`Receiver` 模式和所有权机制封装 `unsafe`,构建健壮的并发原语。

rust

Rust 实战丨手写一个 SpinLock

本文以三段迭代示例演示如何在 Rust 中手写自旋锁:从最小化原子标志实现,到绑定受保护数据,再到借助 RAII 实现自动解锁。过程中深入讲解 Atomic 内存顺序、UnsafeCell 内部可变性、Send/Sync 并发标记,以及 Drop/Deref 零成本抽象,帮助读者理解自旋锁适用场景与潜在陷阱,并掌握将并发安全问题前移到编译期的工程思维。

rust

Rust 实战丨SSE(Server-Sent Events)

本文详细介绍了 SSE 的工作原理,并通过示例代码展示了如何使用 Go 和 Rust 实现一个简单的 SSE 服务端,展示了在实际项目中应用 SSE 的方法。

rust

Rust 实战丨通过实现 json! 掌握声明宏

本文分步展示了实现 json! 宏的过程,包括定义 Json 枚举和不同类型的匹配规则。通过这个过程,读者可以掌握声明宏的基本概念和实现方法。

rust

Rust 实战丨并发构建倒排索引

本文详细阐述了使用 Rust channel 并发构建倒排索引的详细过程。

rust

Rust 实战丨倒排索引

本文将使用 Rust 实现一个简单的倒排索引。

rust
12