2.3。。。

无名管道:顾名思义,是没有名字的管道,无名管道是一个没有名字的管道,由于是一个特殊的文件,不在文件系统中显示,所有只适用于亲缘间的通信,但是可以完成自己跟自己的通信,需要在fork前将管道文件打开,创建了子进程之后,子进程继承一份管道文件的描述符才能使用管道。

有名管道:顾名思义是有名字的管道文件,会在文件系统创建一个管道文件,该管道文件仅仅是用来进行进程间的通信,不用于存储数据。管道文件可以使用open函数打开,所以即可以适用于亲缘进程间的通信,也可以用于废亲缘进程间的通信。

信号:信号是软件模拟底层硬件的中断操作。用户可以给某个进程发送信号,一个进程也能给另一个进程发送信号,内核也可以给某个进程发送信号。当一个进程收到信号后的操作有三种:默认是杀死进程、捕获、忽略。

消息队列:可以创建一个消息队列,往队列中放入信息,这个消息是一次性的,其他的程序使用时将会从这个消息队列中取出消息,取出后的消息是一次性的,不能再被其他的进程取出。

共享内存:共享内存的操作不是一次性的,当共享内存段中的数据被读取后,依然存在。共享内存是所有进程间通信方式中效率最高的,原因是,操作共享内存段时,无需进行用户空间和内核空间的切换。

信号量(信号灯集):信号灯集中的每一个灯,都控制一个进程。信号灯集中的灯的编号是从0开始。信号灯集中的每个灯都维护了一个value值,当value值等于0时,等待该资源的进程处于阻塞状态,直到其他进程将该资源的值加到大于0。

套接字通信:属于最原始的套接字通信,只能完成同一主机之间多个进程的通信方式。跨主机通信时,使用的时IP地址和端口号来确定,而域套接字,无需进行跨主机,所以,只需要使用特殊文件即可,如果客户端没有绑定套接字文件,系统不会给客户端绑定套接字文件,默认为空。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值