RAM磁盘与Boost进程间通信

时间:2014-03-10 12:51:51

标签: c++ boost interprocess boost-interprocess ramdisk

为了让一组流程进行沟通,有哪些优点和缺点:

  1. RAM盘
  2. 提升进程间通信
  3. RAM磁盘允许与仅使用文件的程序通信。

    由于要复制文件系统接口,RAM磁盘的性能损失有多大?

2 个答案:

答案 0 :(得分:1)

这是一种错误的二分法。

如果您通过

分享
    RAM磁盘上的
  • 文件 - 您仍在使用内存映射文件(实现Boost Interprocess)
  • 命名管道(unix上的FIFO)你还在使用IPC(因为管道或socket对是IPC原语)。

使用RAM磁盘无法/避免/ IPC。

实际上,它会发出警报信号,因为它听起来像是在假设它会以某种方式使用RAM磁盘“更简单”。实际上,如果你没有做正确的锁定,它就更简单了。但这只是一个bug的来源。

答案 1 :(得分:0)

如果你想知道性能损失,我认为你可以做一些测试,因为我不认为你的解决方案是常见的。

无论如何,如果您希望使用某种类型的进程间通信基础结构来传递两个进程,请使用boost提供的,因为它旨在执行您想要执行的操作,它不需要额外的基础结构,实际上也是如此可跨平台移植。