进程间通信

进程间通信:管道  信号量 消息队列  共享内存  套接字

管道

有名管道

      mkfifo  mkfifo()

无名管道

    pipe()

区别:有名可以在任意两个进程间通信,无名可以在父子进程间进行通信

管道通信方式:半双工

通信方式包括:单工 半双工 全双工

写入数据:写在内存中

管道为空 读read阻塞

管道未满  写write阻塞

关闭读端:写操作引发异常,收到SIGPIPE信号

关闭写端 :读n=read() ,n为0

信号量

特殊的变量,原子加一(v 释放资源),原子减一(p 获取资源)

什么是pv操作

二值信号量  取值  0,1;

计数信号量  值可以大于1

临界资源:同一时刻只允许一个进程访问的资源

临界区: 访问临界资源的代码段

有信号量为什么还要互斥锁 (信号量与互斥锁有什么区别)

共享内存

《linux内核csdn》第六章

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值