c++ - 两个程序之间的消息传递

标签 c++ shared-memory message-passing boost-interprocess

目前我有两个独立的 C++ 程序,一个主程序和一个从程序。 master 使用 boost::interprocess 将一些数据写入共享内存,然后启动 slave,它能够从内存中读取数据。

我想做的是让 slave 持续运行,当内存已写入并准备好读取时,master 会向 slave 发送消息。

我能想到的实现相同目的的唯一方法是让从属不断检查共享内存中是否存在对象,并在检测到对象时从中读取并删除它。然而,这似乎不是最佳选择。

有没有更好的方法来实现同样的目标?


背景:这是我之前问题的延续 here ...

最佳答案

您可以使用 posix message queues , 或者更好boost message queues .

关于c++ - 两个程序之间的消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8900141/

相关文章:

c++ - 静态变量初始化代码永远不会被调用

callback - HTTP 回调与消息传递相比有何优缺点?

c++ - 当我增加一个指针然后删除它时,为什么我的程序会崩溃?

c++ - 重载继承的构造函数

c++ - 在 C++ 中更改越界指针的取消引用是否安全?

c - C fork 的问题,错误的结果,可能是共享内存

android - 如何发送和接收广播消息

java - Java OOP 中的消息传递是什么意思?

c++ - 扩展一个简单的 makefile 以支持不同的隐式编译器标志

java - 用java.nio在内存中写入文件?