2013-08-23 92 views
4

我有一个场景,其中多个线程正在写入一个公共缓冲区(地图),每个线程可以或不可以有相同的密钥。有人可以请建议我是否应该使用boost :: shared_mutex或只是提高:: mutex?我的理解是,boost :: shared_mutex是针对单个作者和多个读取,这不是我想要的。这是否使boost :: mutex更适合这种情况?boost :: shared_mutex vs boost :: mutex多线程写入?

在此先感谢

回答

5

是,boost::shared_mutex是不是你的情况下,你没有纯粹的读者和有多个作家。只需使用boost::mutex即可强制对共享数据进行独占访问。