目前我需要通信的2个进程在同一机器,未来可能会在2台机器上,
我需要通信的进程间有大量数据传输,如果在2个进程都在一台机器上,用pipe是不是比共享内存慢(看资料说共享内存是进程间最快的通信方式,而msdn上有说A pipe is a section of shared memory that processes use for communication.)?那到底是pipe快还是共享内存快?如果2个进程不在一台机器上,用socket更快还是pipe更快?一台机器上2个进程通信,boost库中的message_queue与windows下的管道性能有无可比性?谢谢各位。
我需要通信的进程间有大量数据传输,如果在2个进程都在一台机器上,用pipe是不是比共享内存慢(看资料说共享内存是进程间最快的通信方式,而msdn上有说A pipe is a section of shared memory that processes use for communication.)?那到底是pipe快还是共享内存快?如果2个进程不在一台机器上,用socket更快还是pipe更快?一台机器上2个进程通信,boost库中的message_queue与windows下的管道性能有无可比性?谢谢各位。
解决方案 »
- 关于动态控件ListBox的响应 请大家帮忙看一下
- 如何在网页上实现自绘
- GetShortPathName得到的目录怎么这么奇怪啊?
- 请问:VC中如何实现"类似"批处理的功能?
- 哪有在线编辑HTML代码且能语法高亮的ActiveX控件?
- COM使用中的一个问题
- ???????数据库的连接===================急急急急急急急
- 送分!
- 奇:winuser.h明明有KBDLLHOOKSTRUCT说明,但在程序中却老是出现未定义,你知道原因吗?
- 怎样选中CListctrl中的多个ITEM
- 表设计的原则问题求解
- C++ 怎么把存在缓冲区中的JPeg图片数据转化成Cbitmap 数据图片 用 内存DC 给 绘出来 大神们 求救啊!!!
2. Socket和Pipe都可以跨主机,但Pipe是windows特有的东西,Socket更通用。
3. 共享内存最快,但共享内存不能跨主机。共享内存只是一块多个进程都可以访问到的内存,不适合具有同步性质的数据交互。
4. Chrome浏览器的各个进程间通信采用的方法是:windows版本的用管道,Linux版本的用Socket。
----供参考。
有没有兄弟能爆料“当接收双方在两台机器上,Socket最高能跑到每秒多少字节?”千兆以太网卡的情况通常会有什么样的性能,协议开销如何?不用太精确,大致情况就行。