有以下五种通信方式:管道通信
,消息队列通信
,共享内存通信
,信号量通信
,socket
。
-
管道通信
:就是操作系统内核中开辟一段缓存区,进程1可以将交互的数据拷贝到这个缓存区。 -
消息队列
:消息队列就是用户可以添加和读取消息的列表,消息队列里面提供了一种从一个进程向另一个进程发送数据块的方法,不过和管到通信一样每个数据块 -
共享内存通信
:就是映射一段能被其他进程访问的内存,由一个进程创建,但多个进程都可以访问,共享最快的就是IPC
方式 -
信号量通信
:比如信号量初始值为1,进程1来访问一块内存的时候,就把信号量设置为0,然后进程2也来访问的时候看到信号量为0,就知道有其他进程在访问了,就不访问了。 -
socket
: 其他的都是同一台主机之间的进程通信,而不同主机的进程通信就要socket的同学方式了,比如发起http请求,服务器返回数据