C++:提升:托管共享内存是否需要信号量锁
C++:Boost: Does Managed Shared Memory Require a Semaphore lock?
我有两个进程共享一个字符串向量。
- 进程 A 只会将字符串推送到向量中
- 进程 B 将读取字符串并将其从向量中删除
这是否需要信号灯以防止数据损坏?提升是否已经使用managed_shared_memory
处理此问题?
谢谢
据我所知,boost处理它。此页面应包含您需要的所有信息
"Boost.Interprocess使用managed_shared_memory或managed_mapped_file在进程之间提供托管共享内存。两个进程只是映射相同的内存可映射资源,并读取和写入该对象。
Boost 托管共享内存确实需要信号量锁,否则进程可能会读取和写入错误数据,并且会发生意外行为。(分段错误或其他)。
相关文章:
- 删除旧的信号量系统V
- 父进程和子进程之间的 POSIX 信号量
- 访问共享内存而不使用易失性、std::atomic、信号量、互斥锁和自旋锁
- 多线程.如果我使用信号量,我可以在开始时创建很多线程还是应该只有几个线程?
- C/C++ - 用于按顺序打印数字的 sem_t 类型的单个信号量
- 单车道桥 使用信号量进行同步
- 用于 64 位/32 位 IPC 的 POSIX 信号量的替代方案?
- 这个餐饮哲学家问题(dpp)的解决方案是如何工作的?互斥体和信号量
- 发布信号量返回错误 6(无效句柄)
- 在 C Linux 中使用三个线程使用信号量同步按顺序打印 3 4 5 50 次
- 在使用 pthread 和信号量实现生产者-消费者问题时需要帮助
- 如何让一个线程继续,而另一个线程正在等待C++中的信号量
- 实现信号量
- 计算信号量还是互斥体?
- POSIX 信号量在高争用/负载下不起作用
- C++:提升:托管共享内存是否需要信号量锁
- 信号量的问题
- 如何使用Windows API直接将进程"assign"到信号量?
- 从主线程C++更新信号量
- c++中的多线程,只检查信号量是否被锁定