我的需求:一个进程批量的数据不间断的存入差不多每秒有400k的数据这样子(不一定是一次存入的,可能是分几次),而另一个内存要从共享内存中读取这些数据,读取完就释放那块内存。
如何使共享的内存具有一定的数据结构,如同stl中的vector那样。
需要自己做序列化,反序列化,把数据转回vector。自己定义格式等,知道多大一块内存数据表示一个vector的元素。然后一个个获取,存入vector就是 实现一个 缓冲池吗,缓冲池 里面 每个节点,你定义一个数据结构,比如说
struct _Data{
char * pBuff; //内存数据
unsigned int nSize; // 内存大小
}
而缓冲池,说明白了,就是 N个 _Data 数据结构组成的内存的集合。
_Data * PopData(); //用来取数据
void PushData(_Data * pData); //用来存数据
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。