【问题标题】:What is the difference between stream and pipe in CC中的流和管道有什么区别
【发布时间】:2013-07-17 14:27:29
【问题描述】:

在进程间通信(IPC)中,应该需要与操作系统提供的每个进程“PIPE”进行通信。并且应该需要OS提供的从输入单元到程序或从程序到输出单元的“流”传输数据。

这是我的问题。

  1. PIPE 和 Stream 之间有区别吗??
  2. 如果它们不同,因为它们的功能非常相似,那么仅使用“PIPE”或“Stream”来传输数据不是更有用吗??

【问题讨论】:

    标签: c multiprocessing ipc


    【解决方案1】:

    管道是两个进程之间的通信通道。它有一个写端和一个读端。当打开这两端之一时,会得到一个(写入或读取)流。因此,在第一个近似值中,管道的每一端都有一个流。

    所以要设置 IPC,你应该

    • 使用函数pipe 创建管道。这会返回两个ints,标识管道的两端;
    • 通常fork得到两个进程;
    • 打开管道的每一端(通常在分叉后的不同进程中)并获得两个对应的流。

    http://www.gnu.org/software/libc/manual/html_node/Creating-a-Pipe.html

    【讨论】:

      猜你喜欢
      • 2020-03-21
      • 2020-03-11
      • 2020-08-31
      • 2018-08-25
      • 2010-09-16
      • 2021-05-08
      • 2013-09-05
      • 2015-02-02
      相关资源
      最近更新 更多