图灵学院java架构师全套svip课程2345期--Linux管道通信的原理--百度网盘下载
【微信642620018,获取图灵架构师svip课程2345期全套课程】 处于安全的考虑,不同进程之间的内存空间是相互隔离的,也就是说 进程A 是不能访问 进程B 的内存空间,反之亦然。如果不同进程间能够相互访问和修改对方的内存,那么当前进程的内存就有可能被其他进程非法修改,从而导致安全隐患。 不同的进程就像是大海上孤立的岛屿,它们之间不能直接相互通信,如下图所示: 但某些场景下,不同进程间需要相互通信,比如:进程A** 负责处理用户的请求,而 进程B 负责保存处理后的数据。那么当 进程A 处理完请求后,就需要把处理后的数据提交给 进程B 进行存储。此时,进程A 就需要与 进程B 进行通信。如下图所示:** 由于不同进程间是相互隔离的,所以必须借助内核来作为桥梁来进行相互通信,内核相当于岛屿之间的轮船,如下图所示: 内核提供多种进程间通信的方式,如:共享内存,信号,消息队列** 和 管道(pipe) 等。本文主要介绍 管道 的原理与实现。** 一、管道的使用 管道** 一般用于父子进程之间相互通信,一般的用法如下:** 父进程使用 pipe 系统调用创建一个管道。 然后父进程使用 fo....