Linux系统网络编程
从底层出发,详解UNIX系统编程、网络编程
露航
IT界一只小小的爬虫,想爬上山巅,看,高处风景无限美!
展开
-
进程间通信IPC——命名管道
命名管道1、基本概念2、创建1)命令行2)函数3、示例1、基本概念命名管道是一种特殊的文件类型,其存在于磁盘上,但是大小永远是0。不同于匿名管道的是:可在同一台计算机的不同进程之间或在跨越网络的不同计算机的不同进程之间实现通信支持可靠的、单向或双向的数据通信命名管道只是让两个无关的进程之间建立起联系,一旦关系建立起来,与命名管道的文件不再有关命名管道FIFO(first input first output)总是遵循先进先出的原则,即第一个进来的数据会第一个被读走命名管道可以一个读端,多个原创 2020-11-29 17:48:11 · 1076 阅读 · 0 评论 -
进程间通信IPC——管道(匿名管道)
管道1、概念管道是个伪文件,本质上是内核使用环形队列机制,借助内核缓冲区实现。2、特性1)特征管道本质为内核缓冲区,用户态来看是一个伪文件由于是伪文件,所以对于管道有两个文件描述符印用,一个表示读端,一个表示写端管道是基于字节流实现通信的管道依赖于文件系统,其生命周期随进程管道本身自带同步互斥fork()进程的时候,子进程会继承父进程的管道与其描述符2)局限性管道采用半双工通信方式,数据只能在单方向上流动管道中数据不可反复读取。一旦读走,管道中不再存在管道必须作用于有血缘关原创 2020-11-29 15:32:09 · 533 阅读 · 0 评论 -
最快进程间通信方式——共享内存
共享内存共享内存1、概念2、共享内存数据结构3、共享内存操作函数共享内存最快的进程间通信方式—— 共享内存 。1、概念共享内存即多个进程共享指定的一块物理内存空间,一旦此物理内存映射到共享它的进程的虚拟地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据共享内存允许多个进程共享指定的物理内存空间。共享内存少了两次涉及用户态和内核态数据拷贝的时间和资源消耗 ,带来极高的效率;2、共享内存数据结构3、共享内存操作函数创建或打开共享内存原创 2020-11-21 00:17:44 · 1665 阅读 · 0 评论