C ++:Boost:托管共享内存是否需要信号量锁定?

时间:2017-02-02 00:53:38

标签: c++ boost shared-memory

我有两个共享字符串向量的进程。

  • 进程A只会将字符串推送到向量
  • 进程B将读取字符串并将其从向量中删除

这是否需要信号量以防止数据损坏? boost是否已使用managed_shared_memory处理此问题?

由于

2 个答案:

答案 0 :(得分:1)

从我所知道的提升处理它。 This page should have all the information you need

" Boost.Interprocess使用managed_shared_memory或managed_mapped_file在进程之间提供托管共享内存。两个进程只映射相同的内存可映射资源,并从该对象读取和写入。"

答案 1 :(得分:0)

提升托管共享内存需要信号量锁,否则进程可以读取和写入错误数据,并且会发生意外行为。 (分段错误或其他)。