C++ 按需共享内存

C++ 按需共享内存,c++,C++,我想知道是否可以要求进程按需共享其部分内存 这是我的案例,除了模拟部分,我还没有开始编写代码 我想建立一个软件即服务。 这个想法是人们可以去一个网站进行模拟,并且可以在模拟运行时通过一个更新自身的图形实时查看进度 所以我有一个流程,就是我正在考虑用cppCMS编写的web应用程序,它将负责启动另一个流程,进行模拟。解决方案的实时演示将通过使用web应用程序和仿真软件之间的共享内存来完成 一旦用户关闭浏览器中的选项卡,很明显,我希望模拟过程继续运行 当用户返回时,棘手的部分就来了。web应用程序应

我想知道是否可以要求进程按需共享其部分内存

这是我的案例,除了模拟部分,我还没有开始编写代码

我想建立一个软件即服务。 这个想法是人们可以去一个网站进行模拟,并且可以在模拟运行时通过一个更新自身的图形实时查看进度

所以我有一个流程,就是我正在考虑用cppCMS编写的web应用程序,它将负责启动另一个流程,进行模拟。解决方案的实时演示将通过使用web应用程序和仿真软件之间的共享内存来完成

一旦用户关闭浏览器中的选项卡,很明显,我希望模拟过程继续运行

当用户返回时,棘手的部分就来了。web应用程序应要求模拟过程共享其内存,并检索有关模拟进度的数据

我想知道我想做的事情是否可行,如果可行,一些关于如何做的链接会很好

另外,我对编程非常陌生,也许我想要在这里实现的解决方案不是最好的。如果您对如何做得更好有一些建议,欢迎提供:

[编辑]我曾想过将进度写入数据库,但我认为每次计算后的写入过程将成为性能方面的瓶颈。最好的解决方案是开销最小或根本不需要开销


非常感谢

您可以使用IPC/消息队列/命名管道/或我认为更好的使用方式。

您可能需要一个数据库。boost为进程间共享内存提供了一个很好的跨平台包装器-它比使用特定于平台的API更容易实现这类功能。这是特定于操作系统的。如果“共享内存”是正确的策略,你可能会认为我会很惊讶。我也不希望你想使用数据库。我想线索就在“作为一种服务”。。。您可能想要实现一些restful服务来产生结果。当然-正确的方法在很大程度上取决于您正在进行的计算类型以及您计划如何在web应用程序中显示结果。如果您使用javascript库(如D3)绘制一个简单的图形,那么服务可能只需要生成一些JSON数据。更复杂的图形可以创建为一系列PNG图像。