Epoch-Based Reclamation:Crossbeam 的实现之道
在无锁编程的世界里,内存回收是最棘手的难题之一。Rust 的 crossbeam 库用基于纪元的回收机制,巧妙地将这一难题化解为三个整数的优雅舞蹈——本文从原理到工程实践,完整剖析这一精妙的并发内存回收技术。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
共 2 篇文章 · 返回首页
在无锁编程的世界里,内存回收是最棘手的难题之一。Rust 的 crossbeam 库用基于纪元的回收机制,巧妙地将这一难题化解为三个整数的优雅舞蹈——本文从原理到工程实践,完整剖析这一精妙的并发内存回收技术。
同一个并发原语,Go 和 Rust 却走出了截然不同的道路:一个用全局互斥锁守护环形缓冲区,另一个用逐槽位 CAS 实现无锁推进。本文深入拆解 Go channel、crossbeam-channel、LMAX Disruptor 和 DPDK rte_ring 的内部结构,并给出一份完整的 C 语言有界 MPMC 队列实现。