c++ - 共享内存的 boost 容器是否实现锁定?

标签 c++ boost shared-memory interprocess

我正在尝试使用 C++ boost 库在(boost)共享内存位置创建 HashMap 。到目前为止一切顺利,这一切都很好地记录在 boost documentation 中。 。但是,我想在我创建的映射上有一个互斥锁,但我无法理解这是否已经是 HashMap 容器的一部分。

我在文档中找不到此信息,并试图通读 boost 源代码,但我很快就迷失了,即使谷歌也没有提供答案。当然,使用 boost 库实现互斥锁很容易,但我不想最终得到冗余的锁定机制。

如果有人能告诉我 boost 容器(特别是 hashmap)是否包含锁定,那将非常有帮助。如果您能指出我在 www 上可以自己找到此信息的位置,我将获得奖励积分。

最佳答案

boost“共享内存容器”只是 Boost Container 中通用容器的别名。事实上,它们只有在与适当的分配器类型一起使用时才变成“用于共享内存”。

因此,它们没有内置同步(当然除非有记录)。

关于c++ - 共享内存的 boost 容器是否实现锁定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52418708/

相关文章:

c++ - 前向声明从嵌套模板中隐藏祖先模板参数

c++ - 使用 Boost Asio 设置帖子队列大小限制?

c++ - 如何保存一个指针地址,以便另一个指针可以继续工作?

c - 共享内存

multithreading - 在两个线程之间共享大型只读结构的最佳方法是什么?

c++ - 将 float 打印为十进制并修复错误的输出

c++ - Cmake 包含目录

boost - 使用 bjam 进行简单安装

c++ - 如何将 int 复制到 boost/std::char 数组?

c++ - 无法使用 boost::geometry::model::polygon