我有两个进程,一个将查询其他数据.在有限的时间内将有大量的查询(每秒10000次),每秒将传输数据(> 100 mb).数据类型将是一个整数类型(双,int)我的问题是以哪种方式连接这个过程?
共享内存,消息队列,lpc(本地过程调用)或其他....
而且我想问你建议哪个图书馆?顺便提一下,请不要建议MPI.编辑:在windows xp 32位下
一个词:Boost.InterProcess.如果真的需要快速,共享内存是可行的方法.由于操作系统在虚拟和物理地址之间进行通常的映射,因此几乎没有开销,因此数据不需要复制.您只需要了解并发问题.
对于实际发送关闭和查询等命令,我会使用消息队列.我之前使用localhost网络编程来做这件事,并且在我知道boost之前使用了手动共享内存分配.该死的如果我需要重写应用程序,我会立即选择提升.Boost.InterProcess使您更容易.看看这个.
我会使用共享内存来存储数据,并使用消息队列来发送查询.