linux进程简介三 进程间通信

本文深入探讨了Linux进程间通信的基础概念和常见方式,包括信号、信号量、共享内存、管道、消息队列以及Socket通信机制。详细介绍了各种通信方式的特点和使用场景,如信号的软中断性质、信号量的同步与互斥功能、管道的半双工特性以及Socket在网络通信中的应用。
摘要由CSDN通过智能技术生成

本文来梳理下进程间通信的必备知识。

基础概念

并发进程之间的交互必须满足两个基本要求:同步和通信。

并发进程之间的两种关系:竞争与协作。(用互斥解决竞争关系,用同步解决协作关系)


进程同步:指两个以上进程基于某个条件来协调它们之间的活动。(说的简单点,就是为了共同的任务,需要进程排着队,一个个来处理)

进程互斥:指若干个进程要使用同一个共享资源时,在任何时刻只允许一个进程使用,其它的都得等待。

互斥是进程同步的特例。


进程间通信的方式:

  1. 信号通信机制:signal
  2. 信号量与P/V操作
  3. 共享内存通信机制
  4. 消息队列传递通信机制
  5. socket 单机/网络通信机制

信号

别名软中断,通常用来处理可以延时的任务,比如tcp/ip操作,SCSI协议操作等。

信号量

组成元素:一个变量、一个进程等待队列。

信号量加上P/V操作可用来解决进程间的同步与互斥问题,不过仅限传递信号,并没有传递数据的能力。

两大种类:system v版本的信号量只能用于进程,而POSIX版的可同时用于进程与线程。

参考 https://blog.csdn.net/lh2016rocky/article/d

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值