永发信息网

进程间通信的方式有哪些,各自的优缺点

答案:1  悬赏:40  手机版
解决时间 2021-04-28 08:17
  • 提问者网友:人傍凄凉立暮秋
  • 2021-04-27 14:57
进程间通信的方式有哪些,各自的优缺点
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-04-27 15:29
进程间通信主要包括管道, 系统IPC(Inter-Process Communication,进程间通信)(包括消息队列,信号,共享存储), 套接字(SOCKET).
管道包括三种:
1)普通管道PIPE, 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.
2)流管道s_pipe: 去除了第一种限制,为半双工,可以双向传输.
3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯.
--》管道、有名管道
管道是单向的,先进先出,提供了简单的流控制,进程读空管道或者写满管道,都将造成进程阻塞
管道包括无名管道和有名管道,前者用于父子间进程通信,后者用于任意两个进程间通信
--》信号
信号产生的条件:按键、硬件异常、进程调用kill函数将信号发送给另一个进程、用户调用kill命令将信号发送给其他进程,传递的消息比较少,主要是通知消息
--》消息队列
一个消息链表,可以把消息看作一个记录,具有特定的格式,进程可以向队列中添加消息或者读走消息,有缓冲区
--》共享内存
共享内存就是映射一段可以被其他进程访问的内存,这段共享物理内存由一个进程创建,但是多个进程都可以访问,共享内存是进程间共享数据的一种最快的方法
--》信号量
主要用于保护临界资源,进程可以根据它来判断是否能够访问某些公共资源,除了用于反复问控制外,还可以用于进程同步,相当于计数器
--》套接字
可以用于不同进程间的通信。
流式套接字:提供可靠的,面向连接的通讯流
数据包套接字:定义一种无连接的服务,通过相互独立的报文进行传输,是无序的
原始套接字:用于新的网络协议的测试
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯