我目前正在查看Boost的进程间库的文档,并试图弄清楚它们之间的区别。
从中可以看出,唯一的区别是持久性(当最后一个进程退出时会释放Windows共享内存,只有在被告知时才释放managed_shm),是否存在其他差异,如速度或我错过了?
答案 0 :(得分:1)
差异是managed_shared_memory
遵循POSIX要求,因此emulating the parts缺少windows_shared_memory
(即持久性)。这样做via memory file mapping。
managed_shared_memory
的缺点似乎是与其他应用程序(使用本机Windows共享内存)的互操作性,并且可能在首次访问时加速。另一方面,windows_shared_memory
的缺点是系统之间缺乏可移植性。