基于所有权的资源管理 (OBRM) 的风险
OBRM(又名 RAII:资源获取即初始化)是你在 Rust 中会经常与之交互的东西。特别是当你使用标准库时。
粗略地说,该模式如下:要获取资源,你需要创建一个管理它的对象。要释放资源,你只需销毁该对象,它就会为你清理资源。此模式管理的最常见的“资源”只是内存。Box
、Rc
以及 std::collections
中的几乎所有内容都是为了方便正确管理内存。这在 Rust 中尤其重要,因为我们没有普遍存在的 GC 来依赖进行内存管理。这正是重点:Rust 的核心在于控制。然而,我们并不局限于内存。几乎每一个其他的系统资源,如线程、文件或套接字,都是通过这种 API 暴露出来的。