类似管道的对象,具有大容量的线程间通信(linux)

时间:2011-06-30 07:07:15

标签: multithreading pipe filehandle

在Linux下使用C ++。 是否存在具有以下属性的对象的实现:

  1. 给我一个读取结束和写入结束文件处理(或描述符)。
  2. 可以缓冲几MB的数据(与我从管道获得的最多64KB相比)。
  3. 这些要求就像一个管道,但有一个更大的缓冲区。 我只需要在同一进程中的线程之间进行通信。

    如果那里没有这样的东西,我怎么能实现一个(我不知道如何实现文件句柄--FILE)?

    编辑:我对如何做到这一点有一个想法:对于每个通信方向,打开2个常规管道并启动一个线程,将信息从一个写入端移动到读取端。另一方面,缓冲数据。这应该有效,但我想知道是否有一种方法可以减少开销。

0 个答案:

没有答案