进程间的通信方式(转)

进程用户空间相互独立,一般不能互相通信,但是会出现进程间协调合作互相通信的情况:

进程通信应用场景:

1、数据传输:一个进程需要将他的数据发送给另一个进程,发送的数据量在一个字节和几M字节之间

2、共享数据、多个进程想要操作共享数据,一个进程对共享数据进行了修改没别的进程应该能看见

3、通知事件:一个进程需要向另一个或者一组进程发送消息,通知发生了某件事情

4、资源共享:多个进程需要共享同样的资源,

5、进程控制:有些进程希望完全控制另一个进程的执行(debug)

 

进程通信方式:

1、管道:三种1)普通管道:有两种限制,一是单工,二是只能在父子或者兄弟进程之间使用  2)流管道,半双工只能在父子和兄弟进程间使用  3)命名管道,去除了第二种限制,可以在许多不相关的进程间通信

2、信号量:一个计数器,用来控制多个进程对共享资源的访问

3、消息队列,消息队列是消息的链表,放在内核中并有消息队列标识符标识。

4、信号:主要通知接收某个事件已经发生

5、共享内存,就是映射一段能被其他程序所访问的内存,这段共享内存有一个进程创建,但是多个进程都可以访问。共享内存是最快的IPC方式

6、套接字(socket)用于不同机器间进程通信。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值