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

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

本文是在笔者学习了极客时间《RAG 快速开发实战》课程后,对 RAG 相关技术进行一个梳理归纳,帮助开发者在 RAG 开发中进行快速定位、系统学习。

本文总结了读者在阅读《Unit Testing》书籍中的收获和思考。

本文对《Unit Testing》的关键观点进行了梳理总结。

本文从最简单的数据格式开始,通过不断解决一个个关键问题,最终推导出 MySQL 数据的底层存储结构,即 B+ 树。

本文详细介绍了如何在 Hexo 博客中优雅地集成 Markmap 思维导图,让你能够直接在 Markdown 文件中创建交互式思维导图。同时这也是一个 Hexo 插件的标准实现案例。

本文介绍了 OpenTelemetry 的采样机制,特别是为什么它在 SDK 层面不支持尾采样。

阅读《悟道领域驱动设计》后的一些笔记和思考。
本文介绍了 Go 1.24 版本引入的实验性包 testing/synctest,并详细讲解了如何使用它优雅地测试并发代码。
本文介绍了直播系统推拉流的基本原理,包括推流和拉流的过程、协议选择、关键指标等。