alloc::sync::Arc和std::sync::Arc之间有什么不同

  • 本文关键字:sync Arc std alloc 之间 rust
  • 更新时间 :
  • 英文 :


我试图在代码中使用Arc,但在阅读文档时,有两个地方定义了Arc:std机箱和alloc机箱。那么,alloc::sync::Arc和std::sync::Arc之间有什么不同呢?

来自alloc机箱文档:

此库提供用于管理堆分配值的智能指针和集合。

与libcore一样,此库通常不需要直接使用,因为其内容会在std机箱中重新导出。然而,使用#![no_std]属性的板条箱通常不依赖于std,所以他们会使用这个板条箱。

所以std::sync::Arcalloc::sync::Arc之间没有差异。

alloc还提供BoxVecStringcollections模块,以及标准库中基本上需要分配(因此是alloc(但不需要底层操作系统(文件系统、网络等(的任何内容。如果您想编写仍然可以使用漂亮的标准库数据结构的裸机(非托管(软件,那么alloc就是您的选择。

最新更新