我有一个场景,多个线程正在写一个公共缓冲区(一个映射),每个线程可能有也可能没有相同的密钥。有人可以建议我是否应该使用boost :: shared_mutex或只是boost :: mutex?我的理解是boost :: shared_mutex用于单个编写器和多个读取,这不是我想要的。这是否使boost :: mutex更适合这种情况?
提前致谢
答案 0 :(得分:5)
是的,boost::shared_mutex
不是你的情况,因为你没有纯读者并且有多个作家。只需使用boost::mutex
来强制执行对共享数据的独占访问。