摘要:
共享内存是运行在同一台机器上的进程间最快的通信方式,因为数据不需要在不同的进程间复制。通常由一个进程创建一块共享内存区,其余进程对这块内存区进行读写。得到共享内存有两种方式:映射/dev/mem 设备和内存映像文件。前一种方式不给系统带来额外的开销,但在现实中并不常用,因为它控制的存取将是实际的物理内存。常用的方式是通过shmXXX函数族来实现利用共享内存进行存储的。首先,要用的函数是shmget,它获得一个共享存储标识符。 #include<sys/types.h> #include<sys/ipc.h> #include<sys/shm.h> int s 阅读全文
摘要:
---管道是半双工的,数据只能向一个方向流动,需要双方通信时,需要建立起两个管道;---只能用于父子进程或兄弟进程之间(具有亲缘关系的进程)---单独构成一个独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一个文件系统,并且只存在于内存中。---数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加到管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。用read、write即可完成读写。管道两端可分别用描述字fd[0]和 fd[1] 来描述,需要注意的是,管道的两端是固定了的任务。管道也 阅读全文