【发布时间】:2015-06-24 16:31:03
【问题描述】:
我有一个关于如何为我的程序设置共享内存段的问题。
在我的程序中,我希望有一个包含 50 个不同帐户的主要结构。 看起来像这样的东西。
struct list{
struct account[50];
};
在每个帐户中只有一些基本信息
struct account{
int x;
char * y;
};
现在,我希望我的整个列表位于共享内存段中,因为我的主进程的不同子进程将更新列表中的不同帐户。
但是,我只希望子进程能够访问此列表中的某个帐户。我将如何设置一个可以被不同部分的子进程锁定的共享内存段?例如,我想要一个可以锁定对共享内存段中帐户 [32] 的访问的信号量。这意味着另一个进程可以同时更新共享内存段中的帐户[29],没有问题。
我并不是真的在寻找具体的代码示例(尽管那些会有帮助),而是更多地了解为该程序设置共享内存的最佳方法。
谢谢。
【问题讨论】:
标签: c memory multiprocessing semaphore shared-memory