关于Linux管道的简单说明、使用、编码

关于Linux管道的简单说明、使用、编码

1. 管道的特点

​ 管道是指用于连接读进程和写进程,以实现进程间通信的共享文件。也就是说,两个进程一个以写的方式打开一个文件,向里面写数据,一个以读的方式打开同一个文件,从里面读另一个进程写入的数据,管道通信方式说白了就是通过读写同一个文件来实现数据传递。

序号 特点
1 管道中的数据遵守先入先出的顺序
2 管道一般是单向的
3 写入数据的进程无法对写入的数据进行读取
4 每个数据只能被读取数据的进程读一次
5 Linux的管道文件大小是固定的: 4KB

2. 管道读写进程间的同步机制

序号 处理方式
1 写通道如果已满,那么继续写入数据的进程将会被阻塞,直到管道中的数据被读走
2 如果管道中没有数据,那么从管道中读取数据的进程将会被阻塞,直到有数据写入
3 如果一个进程以读的方式打开一个管道,但是没有另一个进程以写的方式打开一个管道,那么该进程阻塞
4 如果一个进程试图对没有读进程的管道进行写操作,那么该进程将被终止

3. 管道的局限性

序号 局限
1 数据自己读,却不能自己写;数据自己写,却不能自己读。
2 数据一旦被读取,就不会存在于管道中,不能反复进行读取
3 数据只能在一个方向流动
4 只能在公共祖先的进程间使用管道

4. 与管道相关的系统调用

序号 系统调用方式
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值