15.匿名管道

本文介绍了匿名管道这一进程间通信机制的基本概念与工作原理。详细解释了其作为内核缓冲区的特点,包括由读端和写端组成、数据流动方向、自动释放机制以及默认的阻塞行为等。同时探讨了匿名管道的局限性,如数据的单次读取、半双工通信及适用范围限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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


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

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


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值