恋喵大鲤鱼 2018-02-06 17:58 采纳率: 33.3%
浏览 1617
已结题

Linux命名管道为什么叫FIFO?

FIFO( First Input First Output)不是先入先出队列吗?

  • 写回答

11条回答 默认 最新

  • weixin_40027157 2018-02-09 00:25
    关注

    管道的一个不足之处是没有名字,因此,只能用于具有亲缘关系的进程间通信,在命名管
    道(named pipe或FIFO)提出后,该限制得到了克服。FIFO不同于管道之处在于它提供一
    个路径名与之关联,以FIFO的文件形式存储于文件系统中。命名管道是一个设备文件,因
    此,即使进程与创建FIFO的进程不存在亲缘关系,只要可以访问该路径,就能够通过FIFO
    相互通信。值得注意的是,FIFO(first input first output)总是按照先进先出的原则工作,第一
    个被写入的数据将首先从管道中读出。

    评论
  • qq_23906343 2018-02-06 18:01
    关注

    因为管道是先入先出,first in first out 故又叫先入先出

    评论
  • 双林子木 2018-02-06 18:03
    关注

    Linux的FIFO定义是:first-in first-out special file, named pipe,因为其工作的特性就是数据先入,就先出的。不知你为何有此疑问?

    评论
  • 萧木木哥 2018-02-06 18:05
    关注

    管道读写数据的原理是 先进先出 First In First Out 所以叫做FIFO

    评论
  • 青梦丶 2018-02-06 18:20
    关注

    楼主可以研究下FIFO源码

    评论
  • RolleDev 2018-02-06 18:20
    关注

    就是first in first out 啊。希望采纳

    评论
  • 沉迷WebRTC 2018-02-06 18:36
    关注

    我们常说的管道其实分为两种:1、无名管道(pipe)2、有名管道(named PIPE);而有名管道就是FIFO。为何会叫FIFO,是因为管道本质上是一个先进先出的队列数据结构,最早放入的数据被最先读出来,从而保证信息交流的顺序。FIFO只是借用了文件系统(file system,命名管道是一种特殊类型的文件,因为Linux中所有事物都是文件,它在文件系统中以文件名的形式存在)来为管道命名。

    评论
  • weixin_40647962 2018-02-06 18:54
    关注

    Linux的FIFO定义是:first-in first-out special file, named pipe,管道本质上是一个先进先出的队列数据结构

    评论
  • SSDF_ZQ 2018-02-06 19:07
    关注

    管道(PIPE)是FIFO,理解如下:
    图片说明

    评论
  • qq_41653115 2018-02-07 01:22
    关注

    先进先出 First In First Out 所以叫做FIFO

    评论
  • ACTerminate 2018-02-11 02:05
    关注

    管道的数据传输过程是,先放入管道的数据被先取出,数据在管道的一端放入数据,另一端取出数据,所以用FIFO命名不无道理

    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部