managed_shared_memory vs windows_shared_memory

时间:2017-09-01 09:28:05

标签: c++ boost-interprocess

我目前正在查看Boost的进程间库的文档,并试图弄清楚它们之间的区别。

从中可以看出,唯一的区别是持久性(当最后一个进程退出时会释放Windows共享内存,只有在被告知时才释放managed_shm),是否存在其他差异,如速度或我错过了?

1 个答案:

答案 0 :(得分:1)

差异是managed_shared_memory遵循POSIX要求,因此emulating the parts缺少windows_shared_memory(即持久性)。这样做via memory file mapping

managed_shared_memory的缺点似乎是与其他应用程序(使用本机Windows共享内存)的互操作性,并且可能在首次访问时加速。另一方面,windows_shared_memory的缺点是系统之间缺乏可移植性。