您现在的位置是:首页 >生活 > 2023-09-14 11:18:16 来源:

进程间通信的几种方法(进程间通信方式)

导读 大家好,我是小夏,我来为大家解答以上问题。进程间通信的几种方法,进程间通信方式很多人还不知道,现在让我们一起来看看吧!1、进程间通...

大家好,我是小夏,我来为大家解答以上问题。进程间通信的几种方法,进程间通信方式很多人还不知道,现在让我们一起来看看吧!

1、进程间通信主要包括管道, 系统IPC(Inter-Process Communication,进程间通信)(包括消息队列,信号,共享存储), 套接字(SOCKET).

2、管道包括三种:

3、1)普通管道PIPE, 通常有两种限制,一是单工,只能单向传输;二是只能在父子或者兄弟进程间使用.

4、2)流管道s_pipe: 去除了第一种限制,为半双工,可以双向传输.

5、3)命名管道:name_pipe, 去除了第二种限制,可以在许多并不相关的进程之间进行通讯.

6、--》管道、有名管道

7、管道是单向的,先进先出,提供了简单的流控制,进程读空管道或者写满管道,都将造成进程阻塞

8、管道包括无名管道和有名管道,前者用于父子间进程通信,后者用于任意两个进程间通信

9、--》信号

10、信号产生的条件:按键、硬件异常、进程调用kill函数将信号发送给另一个进程、用户调用kill命令将信号发送给其他进程,传递的消息比较少,主要是通知消息

11、--》消息队列

12、一个消息链表,可以把消息看作一个记录,具有特定的格式,进程可以向队列中添加消息或者读走消息,有缓冲区

13、--》共享内存

14、共享内存就是映射一段可以被其他进程访问的内存,这段共享物理内存由一个进程创建,但是多个进程都可以访问,共享内存是进程间共享数据的一种最快的方法

15、--》信号量

16、主要用于保护临界资源,进程可以根据它来判断是否能够访问某些公共资源,除了用于反复问控制外,还可以用于进程同步,相当于计数器

17、--》套接字

18、可以用于不同进程间的通信。

19、流式套接字:提供可靠的,面向连接的通讯流

20、数据包套接字:定义一种无连接的服务,通过相互独立的报文进行传输,是无序的

21、原始套接字:用于新的网络协议的测试

本文到此讲解完毕了,希望对大家有帮助。