基于c++内存池和共享内存高速的进程间通信队列
把消息队列对象生成在实现分配好的共享内存区中(共享内存去的大小远远大于消息队列管理对象messagequeue),对象中记录者共享内存去剩余内存的数据情况,消息内存 区的管理方式基于缓行管理方式,详细介绍:http://blog.csdn.net/suhuaiqiang_janlay/article/details/51194984
读进程和写进程的唯一区别就是main函数中注释部分,一个调用send,一个调用get
目前一个messagequeue的数据传输方向只能是单向的,一个进程要么读,要么写,这里并没有进行额外的同步措施,也是为了提高数据传输的速度,如果改成双向的要把 数据的索引begin,end等改为atomic_int保证进程间的数据同步的同时还要保证队列中数据段的同步,否则可能出现数据段的数据写完还没来得及更改索引的情况下,被另 外一个进程干扰,造成数据异常,也就是说要保证修改索引个写数据两个操作合起来是一个原子行为。