我试图在我的代码中使用Arc,但是当我阅读文档时,有两个位置定义了Arc : std箱和alloc箱。那么,alloc::sync::Arc和std::sync::Arc之间有什么不同呢?
发布于 2021-04-17 13:37:10
来自alloc的板条箱文档
此库提供用于管理堆分配值的智能指针和集合。 与libcore一样,这个库通常不需要直接使用,因为
std的内容是在 crate中重新导出的。然而,使用#![no_std]属性的板条箱通常不会依赖于std,所以他们会使用这个板条箱。
因此,std::sync::Arc和alloc::sync::Arc之间没有区别。
alloc还提供Box、Vec、String、collections模块,以及标准库中任何需要分配(因此是alloc)但不需要底层操作系统(文件系统、网络等)的东西。如果您想要编写裸金属(非托管)软件,仍然可以使用漂亮的标准库数据结构,alloc就在那里。
https://stackoverflow.com/questions/67137272
复制相似问题