【发布时间】:2017-10-02 22:31:34
【问题描述】:
我是 Linux 系统命令和 IPC 相关主题的新手。
我有一个孩子计算给定数字的阶乘,然后将结果传回给父母。然后父级将打印接收到的输出。
我必须不使用任何类型的PIPES来做到这一点。 至此,我对不同类型的 IPC 进行了少量研究。我考虑的两条路线是 File Mapping 和 Mail Slot。 但是考虑到这项任务的基础性,它们似乎都太复杂了。
有哪些简单的方法可以解决这个问题?
【问题讨论】:
-
解决这个问题的简单方法是使用管道。如果存在反对使用标准解决方案的人为约束,请移除该约束。如果您真的想在不使用管道的情况下执行此操作,请查看共享内存和/或套接字。
-
这是一个类,类要求声明不使用管道进行此分配。感谢您的建议,将调查!
-
此类问题的通常答案是“无论你在课堂上学到了什么”,但我们不知道你在课堂上学到了什么。如果由我决定并且我想找点乐子,我会使用信号量,每个可能的答案都有一个。
-
@MarkPlotnick 到目前为止,我只了解了每个变体的概念以及它为什么有用。我正在寻找的是易于实现的东西。我会研究信号量!
-
有内存映射、posix 共享内存、信号量、unix 套接字、IP 套接字,甚至可以读写同一个文件。阅读他们的文档并决定你想要什么。
标签: c++ linux process fork ipc