使用managed_shared_object创建的std :: vector是否需要同步?

时间:2014-08-04 12:35:09

标签: c++ boost shared-memory interprocess

我成功编译了Boost中的Creating vectors in shared memory示例。我不确定从多个进程插入到构造的向量中是否安全(自动同步实习)。该文档讨论了Synchronization guarantees,但这仅涉及共享内存的创建/搜索/销毁。

你知道我是否必须手动同步矢量访问(插入,删除,迭代),例如scoped_lock<named_mutex>

1 个答案:

答案 0 :(得分:4)

您创建的对象是std::vector,因此boost无法向标准库类添加任何同步。与任何其他std::vector一样,您必须手动同步它。