注册共享内存设计

时间:2012-02-24 06:45:39

标签: ipc shared-memory

对于我的项目要求,

我需要帮助设计以下方案的Inter Processs通信。

有4个Source进程想要使用IPC与1个目标进程通信。

我选择共享内存作为此目的的机制。我最终遇到了像

这样的设计问题

1)我是否必须为每个进程使用4个共享内存?或者我应该使用单一记忆?

2)如果我使用4个内存,那么我必须分别去4个同步对象来同步源和目标进程。在未来,还有一个进程,然后我编辑了估计过程源代码,我不想这样做。

3)我的目的地应该是多线程的? becoz我正在使用更多的源程序..

请指导我...

1 个答案:

答案 0 :(得分:0)

1)我是否必须为每个进程使用4个共享内存?或者我应该使用单一记忆?

不需要。创建一个共享内存段,附加您要访问的所有进程。

2)如果我使用4个内存,那么我必须进行4个同步.....

可能您可以使用信号量来同步对共享内存段的访问。

3)我的目的地应该是多线程的? becoz我正在使用更多的源程序..

取决于。如果使用多线程环境,则可能不需要共享内存段,而是可以使用共享数据[即:heap],并再次使用任何同步方法来避免竞争条件。

希望它有所帮助!!!。

相关问题