对于我的项目要求,
我需要帮助设计以下方案的Inter Processs通信。
有4个Source进程想要使用IPC与1个目标进程通信。
我选择共享内存作为此目的的机制。我最终遇到了像
这样的设计问题1)我是否必须为每个进程使用4个共享内存?或者我应该使用单一记忆?
2)如果我使用4个内存,那么我必须分别去4个同步对象来同步源和目标进程。在未来,还有一个进程,然后我编辑了估计过程源代码,我不想这样做。
3)我的目的地应该是多线程的? becoz我正在使用更多的源程序..
请指导我...
答案 0 :(得分:0)
1)我是否必须为每个进程使用4个共享内存?或者我应该使用单一记忆?
不需要。创建一个共享内存段,附加您要访问的所有进程。
2)如果我使用4个内存,那么我必须进行4个同步.....
可能您可以使用信号量来同步对共享内存段的访问。
3)我的目的地应该是多线程的? becoz我正在使用更多的源程序..
取决于。如果使用多线程环境,则可能不需要共享内存段,而是可以使用共享数据[即:heap],并再次使用任何同步方法来避免竞争条件。
希望它有所帮助!!!。