如何在两个应用程序之间共享实时数据?

如何在两个应用程序之间共享实时数据?

我有一个应用程序 (A),它每秒更新一些数据(大约 1 MB)。我可以让这个应用程序将数据写入我选择的文件中,但除此之外,它不受我的控制。

我需要在另一个应用程序 (B) 中 (完整地) 读取这些数据。这个应用程序是我的,所以我可以按自己想要的方式编写代码。

我的问题是:在应用程序 A 和 B 之间共享数据的适当方法是什么?我不需要将数据保留在内存中的时间超过应用程序 B 读取数据的时间(重新启动或其他情况)。我只需要在应用程序 A 运行时访问新数据。

我目前的解决方案是:让应用程序 A 每秒写入 /dev/shm/myapplication。对应用程序 B 进行编码,使其每秒从 /dev/shm/myapplication 读取一次。这可行,但我仍然好奇这是否是“正确”的做法。其他答案和评论让我相信“/dev/shm”不是进行修改的好地方。请参阅以下来源:

https://superuser.com/a/227714/359316

https://stackoverflow.com/a/42884337/2583765

相关内容