5,进程间通信方式____ ,____ ,____ ,____ ,____ ,_____。
管道 消息队列 共享内存 信号 信号量 套接字
管道通信:实质是管道文件操作,分为有名管道和 无名管道两种。
无名管道(python较多) : 用在有亲缘关系进程之间通信,例如父子进程之间。通信方向单一,有固定的读端口(只能读),固定的写端口(只能写),如下图所示,构成一个半双工通道。(
有名管道: 用在任意两个进程之间通信,实质是两个进程同时访问一个管道文件,所有操作都属于文件IO。
消息队列:创建/打开消息队列 ---> 添加消息/取出消息 ----> 删除消息队列;
共享内存:创建/打开共享内存-----> 映射------> 通信------> 解除映射 ----->删除共享内存;
信号:信号通信是唯一的异步通信,所有进程 默认接收所有信号;
信号量 :保护临界资源----> 进程之间实现互斥, 信号量常常修饰共享内存;
套接字(python常用):socket套接口通信方式, 对于socket常用来实现网络中不同主机之间的进程间通信。