进程通信IPC

1.管道(pipe):在内核中开辟缓冲区(管道)实现进程通信,一个读端,一个写端。

  • 半双工,数据只向一个方向流动,一端读一端写
  • 只用于父子,兄弟进程:创建pipe时,两个文件描述符指向管道两端,fork子进程,继承文件描述符
  • 是独立的文件系统,只存在于内存中
  • 读写操作:满——写阻塞,空——读阻塞

2.有名管道(FIFO):可用于非亲属进程间的通信。

3.消息队列

  • 独立于进程,进程终止,内容不删
  • 可实现消息的随机查询,可按消息类型进行查询

4.共享内存(最快IPC):传递数据不需执行进入内核的系统调用,少了2次文件复制(相比于pipe,FIFO,消息队列)

5.信号量:PV操作(原子操作)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值