
进程间通信
文章平均质量分 97
Dio夹心小面包
"放弃学习的我们是没有翅膀的雄鹰 不会理智的我们是根茎腐烂的大树"
博客用于复习整理
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
『 Linux 』网络传输层 - TCP(四)
但实际上上述的这些策略更多的是考虑网络通信时双端的通信策略,在实际通信过程中所有数据都是需要经过网络的,而网络并不是任何时候的状态都是好的,所以为了保证通信时的可靠性,TCP协议在进行网络通信时也需要对网络进行评估,根据不同的网络健康状态作一定的策略,即。而TCP的连接是和套接字描述符直接相关的,对应的该进程的套接字描述符的生命周期又是伴随进程的,间接来说TCP的连接是与进程的生命周期相关的;原创 2024-11-17 16:41:01 · 1014 阅读 · 0 评论 -
『 Linux 』简单TCP英译汉程序
意思是服务端每新创建一个相同的进程实际上在关闭了多余的文件描述符后每个子进程因处理客户端发来的请求的文件描述符是相同的,而多线程中由于同一个进程间的不同线程共享同一个文件描述符表,这表示在多线程版本中不存在多余的文件描述符,但同样的文件描述符是一个有限资源,当服务端中的文件描述符资源被使用完毕后,再次创建线程来进行网络通信时这次的网络通信将会失败;原创 2024-09-04 22:58:07 · 2036 阅读 · 0 评论 -
『 Linux 』简要介绍System V IPC 消息队列 && 信号量
获取/创建 一个消息队列获取/创建一个消息队列通常使用msgget()系统调用接口;NAMESYNOPSIS返回值为int类型,与System V共享内存相同,当该系统调用接口调用成功时将返回一个msqid用于对消息队列的具体操作;调用失败时返回-1并设置errno;key_t key与共享内存相同,传入一个key值使多个进程可通过该key值看到同一份资源(消息队列);该参数可用户自定或是通过调用系统调用接口ftok()进行传入(ftok()系统调用接口不赘述);int msgflg。原创 2024-07-21 20:38:20 · 1336 阅读 · 0 评论 -
『 Linux 』System V共享内存
共享内存的直接原理即由操作系统内核申请出一块物理内存空间,并将该空间的使用权移交给多个进程,即将该空间以挂接至多个进程的进程地址空间中使得多个进程可以同时访问同一块内存空间。当需要释放共享内存时在此之前需要使得该共享内存没有再被某些进程进行关联,确保进程的读写操作不会因为共享内存的释放而发生读写错误;该参数为一个结构体,该结构体包含了共享内存的所有属性,可通过该结构体对共享内存进行获取属性,查看属性,修改属性等操作;当共享内存被创建后需要将共享内存挂接到进程地址空间中,即使进程与该共享内存进行关联;原创 2024-07-20 15:50:06 · 956 阅读 · 0 评论 -
『 Linux 』命名管道
两个毫不相关的进程,其中一个进程用来创建管道文件并维护管道文件,同时负责接收另一个进程向管道文件内写入的数据;命名管道不占用实际磁盘空间,只是用于传输,不存在刷盘(写入磁盘)的动作,故实际上使用的也是该文件的内核缓冲区;创建一个管道类用于管理管道文件,即利用其构造函数创建管道文件,在退出后析构函数释放对应管道文件;当管道内的数据没有被读端读取时写端会进行阻塞等待读端将当前管道内的数据进行读取;模拟实现服务端,用于管理命名管道文件,接收管道内文件并进行打印;命名管道是管道的一种,数据流向为单向故被称为管道;原创 2024-07-15 19:14:59 · 1017 阅读 · 0 评论 -
『 Linux 』匿名管道应用 - 简易进程池
当一种资源需要被使用时这意味着这个资源可能会被进行多次使用或者需要同时使用多个该资源,当出现这种情况时内核将会频繁的对该资源进行申请并释放,大大降低整体的效率;整体构造采用先描述后组织的方式对进程池进行设置,并以自顶向下的方式进行设计,即先将所需接口以声明的形式标出而后再对接口进行具体实现;本文模拟实现的进程池通过多个匿名管道实现进程间通信使得一个进程与多个其对应的血缘关系进程进行协同从而形成一个进程池[父写子读];子进程为父进程的一份拷贝,当父子进程中其中一个进程被修改时(即对物理内存进行修改);原创 2024-07-13 22:41:13 · 1094 阅读 · 0 评论 -
『 Linux 』 进程间通信 - 匿名管道 (万字)
管道(Pipe)是一种基本的进程间通信(IPC)机制,允许一个进程与另一个进程之间进行数据传输;管道工作方式类似于生活中的水管因此命名为管道,数据从一端流入另一段流出,数据流为单向;Linux中可以使用查看当前登入系统的用户数;who命令用与显示当前登入系统的用户信息,其中一条会话代表一个用户;wc -l命令统计当前行数;两条命令通过管道符进行连接,即将显示的信息通过管道符传输给wc命令再进行统计行数;符号即为一种管道;匿名管道(Anonymous Pipes)不存在命名的管道,用于。原创 2024-06-21 16:57:08 · 1097 阅读 · 0 评论