基于所有权的资源管理(OBRM)的危险性

OBRM(又称 RAII:资源获取即初始化)是你在 Rust 中经常会用到的技巧,特别是当你使用标准库的时候。

粗略的说,其模式如下:要获得一个资源,你要创建一个对象来管理它。要释放资源,你只需销毁这个对象,它就会为你清理资源。这种模式管理的最常见的“资源”就是内存BoxRc以及std::collection中的所有东西都是一种便利,可以正确管理内存。这在 Rust 中特别重要,因为我们没有 GC 来管理内存。重点来了:Rust 是关于控制的。然而,我们并不仅仅局限于内存。几乎所有其他的系统资源,如线程、文件或套接字,都可以通过这种 API 暴露。