Reg共享内存设计
Posted
技术标签:
【中文标题】Reg共享内存设计【英文标题】:Reg Shared Memory Design 【发布时间】:2012-02-24 06:45:39 【问题描述】:对于我的项目需求,
我在为以下场景设计进程间通信方面需要帮助。
有 4 个源进程想要使用 IPC 与 1 个目标进程通信。
为此,我选择了共享内存作为一种机制。我最终遇到了设计问题,例如
1) 我应该为每个进程使用 4 个共享内存吗?还是我应该使用单内存?
2) 如果我使用 4 个内存,那么我必须分别使用 4 个同步对象来同步源进程和目标进程。将来,还有一个流程来了,然后我编辑了我不想这样做的目标流程源代码。
3) 我的目的地应该是多线程的吗?因为我正在使用更多的源进程..
请指导我...
【问题讨论】:
【参考方案1】:1) 我应该为每个进程使用 4 个共享内存吗?还是我应该使用单内存?
不需要。创建一个共享内存段,附加您要访问的所有进程。
2) 如果我使用 4 个内存,那么我必须进行 4 个同步.....
或许你可以使用信号量来同步对共享内存段的访问。
3) 我的目的地应该是多线程的吗?因为我正在使用更多的源进程..
视情况而定。如果您使用多线程环境,您可能不需要共享内存段,而是可以使用共享数据[即:堆],并再次使用任何同步方法来避免竞争条件。
希望对你有帮助!!!。
【讨论】:
以上是关于Reg共享内存设计的主要内容,如果未能解决你的问题,请参考以下文章