提高进程间映射线程安全性
Boost Interprocess Map thread safety
现在查看此链接:
http://www.boost.org/doc/libs/1_56_0/doc/html/interprocess/quick_guide.html#interprocess.quick_guide.qg_interprocess_map
我打算使用它来映射UNIX系统上进程之间的内存。我必须为多个写/读过程实现自己的保护吗?还是已经内置了?文件在这方面似乎不清楚。
您需要同步对共享内存中容器的所有访问。
例如:
如前所述,如果对内存的访问不能有效同步,那么通过内存映射文件或共享内存对象在进程之间共享内存的能力就不是很有用了。这与线程同步机制中发生的问题相同,在线程之间共享堆内存和全局变量,但对这些资源的访问通常需要通过互斥和条件变量进行同步。
也在这里
使用共享内存,我们可以避免两个数据副本,但我们必须同步对共享内存段的访问。
共享内存避免了这种开销,但我们需要同步两个进程
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 线程时访问静态映射时出现隔离错误
- 由并发无序映射查找线程调用的函数是否安全?
- 是否可以访问非线程安全容器内指针指向的值(线程安全映射中的条目)?
- 线程安全 std::map:锁定整个映射和单个值
- 多线程将映射分为多个部分
- c++ 过期映射条目线程与事件循环
- FLTK 事件映射/多线程
- 有效地遍历映射,同时插入其他线程
- 如果不同的线程始终使用不同的键,它们是否可以插入到映射中
- 通过不同的线程使用迭代器遍历 STL 映射
- C++映射线程同步
- 为什么映射在C++中不是多线程安全的
- 如何使C++映射::交换线程安全
- 无序映射线程安全性
- 为什么线程本地存储没有用页表映射实现
- 当一个线程锁定一个大映射时,如何避免冻结其他线程
- C++线程名称映射和log4cxx
- 提高进程间映射线程安全性
- std::映射线程安全性