实现共享内存时要考虑的要点

bso*_*aid 0 c# c++ shared-memory

我计划在服务器(C++)和客户端(C#应用程序)之间实现boost的共享内存.只有读取器和一个写入器,数据共享(读和写)的频率是每毫秒数千个时间.

涉及的风险是什么?

Ass*_*vie 5

每毫秒数千次并不多说.如果它是一个字节的时间不是很多.如果它更多......好吧,这一切都取决于多少.

我建议不要分享记忆.我建议"不要通过分享来沟通,通过沟通来分享".如果,一旦你完成,分析显示额外的内存副本确实是瓶颈,那么,是的,也许一些基于互操作的共享内存解决方案是修复.通常你会发现事实并非如此.

  • 好建议.我想补充一点,实际上,共享内存通常用于实现RPC机制的IPC版本.例如,TCP/IP到"localhost"使用共享内存,命名管道也使用".".通过使用这些通用机制,您可以获得共享内存的大部分速度,具有消息传递体系结构的健壮性,以及扩展的可能性. (2认同)