浅谈匿名管道和进程池相关内容

23 阅读2分钟

1.匿名管道

今天又是学习 linux 的一天,但是因为我学习 linux 主要是为了 408 里面的理解,学习 408 里面的组成原理,操作系统,以及计算机网络,其实网络还好,但是操作系统,组成原理都非常的抽象,尤其是操作系统,被称为是计算机里面的哲学,之所以很多老师讲述不清楚,学生听天书,就是因为现在的普通高校的操作系统都是理论,没有落实到具体的操作系统,比如 windows 或者是 linux 上面去进行讲述,因此觉得很困那也是很正常的;

而我这个假期学习 linux 就是为了强化对于相关的内容的理解,首先看一下这个匿名管道的相关的内容:匿名管道属于是进程之间进行通信的一种方式,还有其他的方式;

匿名管道有自己的适用范围,就是血缘关系的进程,常见的就是父子进程,因此这个进程之间的通信的方式是存在着一定的这个局限性的;

image-20251004231002513

这种很古老的技术,为什么现在还在被使用呢:

image-20251004231149423

子进程继承父进程的文件描述符表,实现了浅拷贝的效果:

image-20251004231257909

通过引用计数器,以及我们的匿名管道实际上存在于我们的内存里面去:

image-20251004231411152

匿名管道的这个通信的方式,非常高效,但是存在着明确的使用的界限:

image-20251004231521073

2.进程池

进程池就是一个父进程创建多个子进程,每一个子进程都是通过管道的方式和父进程进行通信的:

image-20251004231556034

管道里面的这个读写端进行相关的操作的时候一定都是原子上面的操作:

image-20251004231734804

关于池化技术的理解:

image-20251004231813511

关于进程池里面涉及到的非常重要的四个量:

image-20251004231946278

进程池因为是一对多的关系,因此也是需要考虑这个负载均衡的情况的,下面是三种情况:

image-20251004232028859

以上就是文章的全部内容,如果你需要完整的播客,欢迎私信我获取哈;