
Rust 实战丨手写一个 Arc
本文手把手带你拆解并重构 Arc:从单线程引用计数,到跨线程 Weak 防环,再到剥离强/弱引用与内存序优化,层层深入 Rust 并发与内存模型核心。
本文手把手带你拆解并重构 Arc:从单线程引用计数,到跨线程 Weak 防环,再到剥离强/弱引用与内存序优化,层层深入 Rust 并发与内存模型核心。
本文从零开始,通过多版本迭代,实现一个安全的 Rust oneshot channel。我们将深入 `AtomicBool`、`UnsafeCell`、`MaybeUninit` 的使用,通过 `Drop` 管理内存,并最终以 `Sender`/`Receiver` 模式和所有权机制封装 `unsafe`,构建健壮的并发原语。
本文以三段迭代示例演示如何在 Rust 中手写自旋锁:从最小化原子标志实现,到绑定受保护数据,再到借助 RAII 实现自动解锁。过程中深入讲解 Atomic 内存顺序、UnsafeCell 内部可变性、Send/Sync 并发标记,以及 Drop/Deref 零成本抽象,帮助读者理解自旋锁适用场景与潜在陷阱,并掌握将并发安全问题前移到编译期的工程思维。
本文详细介绍了 SSE 的工作原理,并通过示例代码展示了如何使用 Go 和 Rust 实现一个简单的 SSE 服务端,展示了在实际项目中应用 SSE 的方法。
本文分步展示了实现 json! 宏的过程,包括定义 Json 枚举和不同类型的匹配规则。通过这个过程,读者可以掌握声明宏的基本概念和实现方法。
本文详细阐述了使用 Rust channel 并发构建倒排索引的详细过程。
本文将使用 Rust 实现一个简单的倒排索引。
我们深入探讨了如何使用 Rust 语言来实现一个类似于 HTTPie 的命令行工具。
本文参考《Rust 程序设计(第二版)》中第二章的示例,与读者分享**曼德博集**的绘制过程。