日期:2014-05-16  浏览次数:20582 次

linux中如何用shmget在共享内存中分配一个Map类型的空间?
在共享内存中分配这种类型的空间主要是为了其它进程使用。其它进程要在这个共享map中查找元素,如果存在就进行修改,不存在插入,然后在一定的时间内把Map中得数据存入到数据库中。

只所以在共享内存中设计成map类型就是为了查找元素快,方便各个进程都可以操作这个变量。

请高手帮忙如何在共享内存中分配Map类型的空间?(或者有其它高效方案也行,针对这样的需求。)谢谢!

------解决方案--------------------
用shmat取得内存地址之后如何解释是程序的事情,程序按照map内存管理的方式解释就是了
关键是设计好map
------解决方案--------------------
map数据存一个文件里, 在用mmap映射到共享内存。 关键是数据结构如何定,共享内存中不能用指针。