前言
一、匿名管道
1.管道原理
这里我们pipe的时候,会使用两个文件描述符,这两个文件描述里面存的file结构体是同一个,也就是管道文件的file结构体,file结构体中存储有inode以及系统缓冲区,此时fork一个子进程,子进程有着和父进程一样的结构,
这里有一个非常重要的点虽然子进程有着自己的进程地址空间,也有着自己存储file结构体的指针数组,但是其数组里面的内容是和父进程一样的,也就是子进程里面pipe对应的文件描述符位置指向的file结构体(管道文件)是同一个,至此我们父子进程就看到了同一个资源,可以利用这个资源进行通信
两个不同的进程打开同一份文件的时候,在内核中,操作系统只会打开一个
2.管道的四种情况
3.管道的特点
二、命名管道
1. 特点
2.创建命名管道
1.在命令行上
2.在程序中
3.一个程序执行打开管道并不会真正打卡
我们执行这个程序发现并没有打印那句话,说明管道文件并没有真正打开,只有当我们执行另一个我们要通信的文件的时候,管道才会真正打开
三、进程池简易实现
1.makefile
2.Task.hpp
3.ProcessPool.cpp
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。