使用malloc在父子之间进行通信

Posted

技术标签:

【中文标题】使用malloc在父子之间进行通信【英文标题】:Using malloc to communicate between parent and child 【发布时间】:2016-06-13 22:58:57 【问题描述】:

如果我从 malloc 请求 int 的内存大小,并从一个父进程创建“n”个子进程。 每个子进程是否可以更新(添加一个)该内存中的值,所以到最后父进程读取该值?

【问题讨论】:

没有。每个孩子都有自己的记忆副本,它可以修改。它与其他孩子的记忆副本完全分开,也与父母的记忆副本完全分开。孩子不能更改父母的记忆副本(也不能更改任何兄弟的副本)。要做你想做的事,你需要使用“共享内存”。您可能还需要处理对共享内存的同步访问 - 至少,父母需要知道每个孩子何时完成对其共享内存部分的写入,以便它可以安全地获取孩子所写的信息。 感谢您的帮助! 【参考方案1】:

不,孩子和父母之间没有共同的记忆。 要在孩子和父母之间进行沟通,您可以使用:

Shared memory // 所有 POSIX 系统,Windows

Pipes , (Example of Named Pipes) , Pipe tutorial // 所有 POSIX 系统,Windows

FIFO files // 大多数操作系统

sockets // 大多数操作系统

有关其他方法的更多信息,请查看Inter-process communication

【讨论】:

以上是关于使用malloc在父子之间进行通信的主要内容,如果未能解决你的问题,请参考以下文章

12.组件化开发2-非父子组件之间通信-祖先和后代之间的通信

ref实现父子组件之间通信

vue父子组件之间的通信

父子组件之间的通信

vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例

vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例