我正在尝试弄清楚如何在两台Linux机器之间使用共享内存。理想情况下,每台机器都有自己的共享内存段,并运行两个进程(一个从机器的共享内存中读取,另一个向机器的共享内存中写入)。当一台机器的共享内存被写入或更新时,我需要通知另一台机器,让它自己的共享内存与第一台机器的共享内存同步。
这个是可能的吗?我该怎么做呢?
万分感谢!
发布于 2018-08-22 03:41:43
我想知道怎样才能在两台
机器之间共享内存。
这不是个好主意。同步访问共享内存是很困难的;您将很难防止多个客户端相互干扰,即使在一台机器上也是如此。在多台机器上,情况只会变得更糟。
如果你真的想这样做,你基本上有两个选择:
mmap()
将其映射到每台机器的内存中。确保使用msync()
刷新对磁盘的更改,并以复杂的方式使cache.话虽如此,完全使用另一种方法可能会更好。详细信息取决于您的应用程序。
https://stackoverflow.com/questions/51955523
复制相似问题