15.匿名管道

1. 匿名管道的概念
本质:
  内核缓冲区
  是伪文件,不占用磁盘空间,磁盘上不存在
特点:
  (1) 由读端写端两部分组成,对应两个文件描述符
  (2) 数据写端流入,读端流出
  (3) 操作管道的进程被销毁之后,管道自动被释放(内核自动操作),不需要手动释放

  (4) 管道默认是阻塞的,读和写均默认阻塞。


2. 匿名管道的原理
(1) 内部的实现方式:队列,而且是环形队列
  特点:先进先出(一端入队,另一端出队,即只能从一端写入,另一端读出)

(2) 缓冲区大小:默认4k字节,大小会根据实际情况做适当调整


3. 匿名管道的局限性
(1) 由于用队列实现,故数据只能读取一次,不能重读读取
(2) 半双工,数据传输的方向是单向的
  单工:遥控器
  半双工:对讲机
  双工:电话
(3) 只适用于有血缘关系的进程(父子进程,兄弟进程,爷孙进程,叔侄进程...)

猜你喜欢

转载自blog.csdn.net/disappear_xuechao/article/details/80880241
今日推荐