boost :: interprocess共享内存

时间:2017-07-20 20:55:25

标签: c++ windows visual-studio boost

我的环境是Windows 2008/2012 C ++ VS2013。我想要一个stl地图在温暖的重启后继续存在。使用boost:interprocess是一个解决方案,其中重新启动的应用程序是服务器端对地图进行更新而另一个客户端应用程序将连接到同一共享内存段以保持它" alive",如果和当服务器应用程序因任何原因崩溃/重启时?

1 个答案:

答案 0 :(得分:2)

是的,你可以这样做。

您可以使用interprocess :: shared_ptr<>得到你建议的参考计数。

请记住,映射内存不是神奇的事务性因此,如果出现硬故障,则可能存在损坏。如果需要强大的状态持久性,请使用适当的数据库持久性提供程序。